Provider에는 READ, DML로 치면 SELECT를 사용한 쿼리문을 가진 함수를 DAO에서 많이 불러온다. 그러니까 단순 조회이므로 트랜잭션을 처리할 때 @Transactional(readOnly = true)라는 어노테이션을 붙여 처리했다.API를 제작하고 테
프로젝트를 하던 도중 회원가입 과정에서 이메일 인증이 필요했다. 처음에는 SMTP 메일 전송을 구글로 하려고 하였다. 이를 위해서는 보안 수준이 낮은 앱의 액세스를 허용해주어야 했다. 따라서 이러한 화면이 나왔다. 이 설정은 더 이상 사용할 수 없다는 안내문이 나와
우리는 REST API로 요청을 보내고 응답을 받으면 다음과 같은 형태로 데이터를 가져오는 것을 자주 보았을 것이다.❓ JSON이란?JavaScript Object Notation의 약자로, Javascript 객제 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의
스프링부트에서 빈 등록을 위한 어노테이션에는 크게 두 종류가 있다. 첫 번째는 @Configuration + @Bean 두 개의 어노테이션을 쌍으로 이루어 사용해서 빈을 등록하는 것이고, 두 번째는 @Component를 사용해서 빈을 등록하는 방법이 있다. 이 포스팅
JDBC는 Java Database Connectivity의 약자이며, JPA는 Java Persistent API의 약자이다. JDBC의 이름에서 알 수 있듯, DB와 연관이 있다는 것을 알 수 있다. 그리고 JPA 역시 P가 가리키는 영속성(Persistent)라는
롬복은 내부적으로 DTO와 같은 모델에서 변수를 지정하면 자바 클래스로 만들 때 Getter, Setter, toString 등의 메소드를 자동으로 만들어주는 기능이다.롬복은 Getter, Setter, toString 등의 메소드들을 자동으로 생성해주는 어노테이션이므
오픈 API를 사용하거나 서버 아키텍처가 MSA와 같은 형태라면 서버와 서버 간의 HTTP 호출이 필요해진다. 이렇게 다른 서버의 API endpoint를 호출할 때 RestTemplate을 많이 쓴다.Spring에서 제공하는 HTTP Client로 REST API를
Spring에서 컨트롤러를 지정하기 위한 어노테이션은 @Controller와 @RestController가 있다. 언뜻보면 비슷하게 보이는 두 어노테이션의 특징과 차이점은 무엇인지 이 포스트에서 알아볼 예정이다.전통적인 Spring MVC의 컨트롤러인 @Controll