본문 바로가기

스프링부트8

스프링부트: Junit을 이용해 테스트 하기 Test란? 개인이 간단하게 어떤 서비스를 구현한다고 하면 코드는 길어봐야 수천줄 정도 나오겠지만, 회사의 서비스는 만줄은 우습게 넘어갈 정도로 방대한 양의 코드가 동작한다. 헌데 긴 코드에 무턱대고 새로운 코드를 끼워넣으면, 그 코드가 어떻게 작동하는지 확인하기 위해 재실행하는데 리소스가 많이 들 뿐만 아니라, 오류가 발생할 경우 원인이 무엇인지 찾기도 어려워진다. 이런 일을 방지하기 위해 프로그램을 작은 단위로 쪼개서 옳바르게 동작하는지 미리 확인하는 것이 바로 Test다. 과거에는 개발자들이 직접 테스트 환경을 만들어야 했으나, 테스트를 필요로하는 개발자들이 늘어남에 따라 스프링부트에서는 테스트 환경이 내장되어 있기에 따로 할일은 없다. 방법(인텔리제이에서 만드는 방법) 1. 테스트하고 싶은 클래스.. 2023. 1. 27.
JPA 사용법(1) -- JPA 사용법 JPA란? 자바와 관계지향 데이터베이스간의 언어적인 차이를 해소시키기 위한 api. 관계지향적인 DB를 객체지향적으로 해석해주며, 객체지향적인 JAVA를 관계지향적으로 변환해주는 일종의 번역기 역할을 한다고 생각하면 된다. JDBC와의 차이 JDBC는 데이터베이스와 소통하기 위한 api이고, JPA는 소통하는 관계지향적 db를 객체지향적으로 바꾸는 api로 기술적인 개념이라고 봐야한다. 형식(이미 db에 만들어진 테이블이 있다고 가정하겠다) 1. 테이블과 1:1대응될 테이블과 이름이 같은 Entity클래스를 하나 만든다. package com.study.springboot; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lo.. 2023. 1. 26.
MVC -- Model(2) : 데이터 받아오기 형식 1. html파일에서 보내고자 데이터들을 보내는 요청사항 이름을 지정해준다. 2. @RequestMapping 등을 이용하여 요청사항에 대한 응답 함수를 짠다. 코드를 직접 보며 확인해보자. 로그인 화면입니다. 데이터 입력 html 로그인 결과 화면 username 값 password 값 데이터 출력 html 데이터 수신의 3가지 방식 1. 기본형 - HttpServletRequest를 통한 입력값 받기 @RequestMapping("/loginAction1") public String loginAction1(HttpServletRequest request, Model model){ // 받아온 데이터 변수로 저장 String username = request.getParameter("usernam.. 2023. 1. 25.
데이터의 전송 타입( Get/ Post) form태그를 통한 이해 html form태그의 method를 통해 입력받은 데이터의 전송 타입을 정할수 있다. post와 get 둘로 나뉘어 지는데, 두 방식의 가장 큰 차이점은 데이터의 가시성이다. get방식은 서버로 보내는 데이터를 URL에 담아서 전송한다. 따라서 사용자는 물론 제 3자도 어떤 데이터를 보냈는지 쉽게 확인 가능하다. post방식은 서버로 보낼때 HTTP메세지의 바디 태그에 담아서 보낸다. 여서기 HTTP메세지는 데이터의 전송 목적으로만 일시적으로 사용되는 일종의 포장 박스처럼 생각하면 된다. 그러나 은닉일뿐 암호화가 아니기에 보안에 더 뛰어나다고는 볼 수 없다. 둘의 차이를 확인해보자. 1.get방식 2. post 방식 언뜻 보면 post방식이 더 보안적일것 같지만, post방식 .. 2023. 1. 25.