목록SW_STUDY/SpringBoot (14)
ㅅㅇ
@RuquestParam 1개의 HTTP 요청 파라미터를 받기 위해 사용하는 어노테이션 ** @ModelAttribute 과 @RequestBody 의 방식의 차이를 이해하자. @ModelAttribute HTTP Body 내용과 HTTP 파라미터의 값들은 생성자, Getter, Setter를 통해 주입하기 위해 사용하는 어노테이션 - 값 변환이 아닌 값을 주입시키므로 변수들의 생성자나 Getter,Setter가 없으면 변수들이 저장되지 않는다. @RequestBody 클라이언트가 전송하는 JSON 형태의 HTTP Body 내용을 Java Object로 변환시켜주는 어노테이션 - @RestController에서 @RequestBody의 바인딩은 Jackson라이브러리의 ObjectMapper을 통해 이뤄..
** 직접 공부하면서 작성 수정 중에 있는 내용이라, 틑린 내용 있을 수도 있습니다. 틀린 내용이 있다면 댓글 부탁드립니다. ** 전체 코드 https://github.com/cso6005/Auth_Project/tree/version1/UserProject GitHub - cso6005/Auth_ProjectContribute to cso6005/Auth_Project development by creating an account on GitHub.github.com- maven project - java 11 - spring boot 2.7.6 가능한 시나리오 ** 리프레시 토큰, 토큰 재발급 내용 빠져있음. - 회원가입 - 로그인 - 아이디 틀렸을 경우, 비밀번호 틀렸을 경우 - 로그인 성공 - 게..
1. @PostConstruct 란? 의존성 주입이 이루어진 후 초기화를 수행하게 하며, @PostConstruct가 붙은 메서드는 클래스가 service를 수행하기 전에 발생한다. 이 메서드는 다른 리소스에서 호출되지 않는다는 것을 유심히 볼 필요가 있다. 2. 사용 이유 생성자(일반)가 호출 되었을 때, bean은 아직 초기화 되지 않은 상태이다. 이때, @PostConstruct를 사용하면, 빈(bean)이 초기화 됨과 동시에 의존성을 확인할 수 있다. bean 초기화가 완료된 후 수행된다는 것이 보장되므로 의존성 주입이 완료된 것을 알 수 있다. 클래스 내에 @Autowired를 붙여서 객체를 사용할 때, 생성자가 필요하다면 이때, @PostConstruct를 사용되면 좋을 것이다. bean 의 ..
1. Transactional 이란 ? 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위. 데이터에 대한 하나의 논리적 실행 단계라 할 수 있다. 여기서 단위라는 말을 사용했는데, 쉽게 말하면 더 이상 쪼개질 수 없는 최소의 연산 트랜잭션의 목적은 트랜잭션을 조작하는 기능은 사용자가 데이터 베이스 완전성을 유지하는데 확신을 심어주게 하는 것이다. 어떤 연산에 트랜잭션이 보장된다면, DB에서 의도치 않은 값이 저장되거나 조회되는 것을 막을 수 있다. 2. @transactional @transactional은 클래스나 메서드에 붙여줄 경우, 해당 범위 내 메서드가 트랜잭션이 되도록 보장해준다. 직접 객체를 만들 필요 없이 선언만으로도 관리를 용이하게 해주기 때문에 선언..
Gson 라이브러리 의존성 설정 Gradle dependencies { implementation 'com.google.code.gson:gson:2.7' } Gson 라이브러리 의존성 설정 Maven com.google.code.gson gson 2.7 import 및 객체 생성 import com.google.gson.Gson; Gson gson = new Gson(); 예제 - Java Object -> JSON 문자열 String json = new Gson().toJson(objectData); - JSON 문자열 -> Java Object Object objectData = new Gson().fromJson(jsonData);