본문 바로가기

Spring/spring boot

(8)
Spring Boot 이메일 인증 구현하기 - 삽질중인 개발자 - 회원가입 이메일 인증 구현하기 - 이메일 인증을 구현하는 방법에는 크게 2가지 방법이 있다. 첫 번째로 접속하면 이메일 인증이 되는 특정 URL 링크를 넘겨줘서 이메일 인증을 하는 방법이고 두 번째는 인증 코드를 이메일로 보내서 이메일 코드를 입력하게 해 인증하는 방법이다. 그중 해당 포스팅에서는 특정 URL 링크를 접속하여 이메일 인증이 되는 첫 번째 방식을 구현할 것이다. 인증 이메일을 보내는 방법으로는Gmail SMTP를 이용할 것이다. ( 네이버나 다른 서버도 설정만 바꾸면 바로 적용 가능하다. ) 우선 큰 흐름을 살펴보자 회원가입을 한 유저가 이메일 인증이 안된 회원인 경우 인증 메일을 보내기 -> 인증 메일 안에 있는 URL을 클릭 -> 해당 URL에 접속 시 유저의 이메일 인증 관련 DB..
RestTemplate generic response type 매핑 방법 - 삽질중인 개발자 - RestTemplate Exchange 매소드 ResponseType 을 Generic Type 으로 매핑하기 - RestTemplate 을 사용하다 보면 Map 형태로 응답을 받아야 할 때가 있다. 이 포스팅에서는 resttemplate에서 map으로 응답받는 방법에 대해 포스팅한다. 우선 RestTemplate을 사용해서 API를 호출할 때 잘 만들어진 API라면 아래와 같은 형태를 갖고 있다. //네이버 API 호출 //https://developers.naver.com/docs/login/profile/ { "resultcode": "00", "message": "success", "response": { "email": "openapi@naver.com", "nickname": "OpenAP..
@ConfigurationProperties 사용법 - 삽질중인 개발자 - @configurationproperties 사용법 - ConfigurationProperties *.properties , *.yml 파일에 있는 property를 자바 클래스에 값을 가져와서(바인딩) 사용할 수 있게 해주는 어노테이션 Spring boot 에서는 운영에 필요한 설정(DB 정보, LOG설정 등등 )들을 *.properties , *.yml 에 써두고 관리한다. 이 설정은 KEY - VALUE 의 형태로 저장되어 관리하고 있으며 @Value 을 사용하여 바인딩을 할 수 있다. 아래와 같은 properties 파일이 있다고 가정할 때 site-url.naver=https://www.naver.com site-url.google=https:/google.com @Value 를 사용하여 바..
Spring boot 로그 설정 및 출력 방법- logback 설정하기 - 삽질중인 개발자 - Spring boot 로그 설정- 스프링 부트의 기본 로그 툴은 Logback이다. 로그 툴을 사용하는 이유는 System.out.print() 를 사용하게 되면 IO리소스를 많이 잡아먹어 속도가 느리며 후에 로그를 파일로 남겨서 확인해야 하기 때문이다. 로그를 잘 남겨놔야지 개발 단계 혹은 운영 단계에서 문제가 발생시 쉽게 잡아 낼 수 있다. ( 특히 SQL 쿼리는 눈에 보여야지 디버깅하기 쉽다. ) 1. pom.xml 에 추가 spring starter에 포함 안되어 있는 로깅시 쿼리를 풀로 보여줄 수 있게 해주는 라이브러리를 추가한다. org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 2. log4jdbc.log4j2.properties 생성 log..
spring boot static 파일 다운로드 구현 - 삽질중인 개발자 - 정적 파일 다운로드 - 정적 파일이란 응답 요청이 왔을때 별도의 처리를 하지 않고 바로 보내줄 수 있는 파일들을 말한다. 보통 CSS, HTML, JS 등과 홈페이지의 소개서.pdf, 사용설명서.pdf 등의 파일을 말한다. 1. 코드 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.spring..
Spring boot oracle db 연동 , spring boot oracle jdbc 설정 - 삽질중인 개발자 Spring boot에서 오라클 DB 연동하기 + Mybatis 설정하기 스프링 부트에서 oracle과 mybatis를 설정하는 방법입니다. spring boot oracle datasource를 설정하기 전에 필요한 jar 파일을 다운로드 합니다. 1. pom.xml에 추가 org.mybatis mybatis 3.4.0 org.mybatis mybatis-spring 1.3.0 com.oracle.jdbc ojdbc8 12.2.0.1 메이븐 다운로드가 완료된후 m2 폴더에 가보면 C:\Users\유저명\.m2\repository\com\oracle\jdbc\ojdbc8\12.2.0.1 에 가면 ojdbc jar는 다운로드가 안되어 있음. ojdbc는 다운로드가 안되니까 사설 레파지토리를 사용해서 다운하..
스프링 부트 JSP 연동, Spring boot MVC 설정 방법 - 삽질중인 개발자 - 스프링 부트 MVC 설정 방법 - spring boot는 spring 과 다르게 mvc 설정이 기본적으로 되어 있지 않다. spring-boot-starter-web 에 tomcat 은 JSP 파싱이 불가능함. 따라서 jsp를 읽을 수 있게 pom.xml 에 다음을 추가한다. 이런 스프링 부트에서 mvc 설정을 하는 방법은 다음과 같다. 1. pom.xml 에 추가 org.apache.tomcat.embed tomcat-embed-jasper provided javax.servlet jstl 2. application.properties 에 추가 #properties 파일인 경우 spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp 3..
Spring boot tomcat 설정, 스프링 부트 톰캣 포트 설정 - 삽질중인 개발자 - Spring boot 내장 tomcat 설정 - 스프링 부트 톰캣 포트 설정 및 컨텍스트 패스 설정 스프링 부트 내장 톰캣 설정 변경 하기 가장 많이 변경하는 톰캣 포트와 컨텍스트 패스 변경 방법이다. #properties 버젼 server.port=8090 server.servlet.context-path=/ #YAML/YML 버젼 server: port:8090 servlet: context-path:/ Spring boot 관련 다른 글 스프링 부트 mvc 설정 , jsp 연동 방법