[TIL/Spring] 스프링 시큐리티와 OAuth 2.0으로 구글 로그인 기능 구현
·
TIL/Spring
구글 로그인 기능을 구현하기 위해서는 구글 클라우드 플랫폼에서 OAuth 클라이언트 ID를 생성해야한다. 구글에 검색하면 정보가 많이 나오니 필요하면 검색해서 생성하도록 하자! 기존에 만들어둔 코드는 github에서 확인할 수 있으니 필요한 분들은 아래 링크 참고하시면 됩니다! https://github.com/Yelin-park/springboot-aws-practice GitHub - Yelin-park/springboot-aws-practice: 스프링부트로 웹사이트 만들고 AWS 무중단 배포하기 스프링부트로 웹사이트 만들고 AWS 무중단 배포하기. Contribute to Yelin-park/springboot-aws-practice development by creating an account ..
[TIL] 비즈니스 로직을 처리하는 곳은 Service가 아니다?
·
TIL/Spring
최근 springboot와 JPA를 공부하면서 새롭고 작은 지식을 하나 알았다. 여태 Service 안에서 트랜잭션 처리도 하는 등 비즈니스 로직을 처리해야 한다라고 알고 있었다. 알고보니 Service에서 비즈니스 로직을 처리하는 것이 아니였다!!!... Service는 트랜잭션, 도메인 간 순서 보장의 역할만 한다. 아래 그림은 spring 웹 계층을 나타내는 그림이다. 간단하게 각 영역을 정리하면 다음과 같다. Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역이다. 이 외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역을 이야기 한다. Service ..
[TIL] Spring Framework - HandlerInterceptorAdapter
·
TIL/Spring
인터셉터(Interceptor)란? Controller에 들어오는 요청(HttpRequest)과 Controller가 응답(HttpResponse)을 가로채는 역할은 한다. Filter와 역할이 유사한데 Filter와 Interceptor는 분명한 차이점이 있다. 1) 호출 시점 > Filter는 DispatcherServlet이 실행되기 전 , Interceptor는 DispatcherServlet이 실행된 후 2) 설정 위치 > Filter는 web.xml , Interceptor는 spring-servlet.xml 3) 구현 방식 > Filter는 web.xml에서 설정을 하면 구현 가능, Interceptor는 설정은 물론 메서드 구현도 필요 Interceptor를 구현하는 방법은 2가지가 있다...
[TIL] 의존관계 자동 주입과 조회 빈이 2개 이상일 때 문제 해결하기, 조회한 빈이 모두 필요할 때 사용하는 법
·
TIL/Spring
보호되어 있는 글입니다.
[TIL] 컴포넌트 스캔
·
TIL/Spring
보호되어 있는 글입니다.
[TIL] 싱글톤, 싱글톤 컨테이너, 싱글톤 방식의 주의점
·
TIL/Spring
보호되어 있는 글입니다.
[TIL] Spring 5.0.7_기본적인 웹 게시물 관리
·
TIL/Spring
SP 코딩단 교재를 참고하여 공부를 진행하였습니다 일반적으로 웹 프로젝트는 3-tire 방식으로 구성한다. Presentation Tier(화면계층) : 화면에 보여주는 기술을 사용하는 영역 Business(비즈니스 계층) : 순수한 비즈니스 로직을 담고 있는 영역 Persistence Tier(영속 계층 혹은 데이터 계층) : 데이터를 어떤 방식으로 보관하고, 사용하는가에 대한 설계가 들어가는 계층 계층에 대한 설명을 스프링 MVC와 맞춰서 설명하면 다음과 같은 구조가 된다. 스프링 MVC 영역은 Presentation Tier를 구성하게 되는데 각 영역은 사실 별도의 설정을 가지는 단위로 볼 수 있다. => root-context.xml, servlet-context.xml 등의 설정 파일이 해당 영..
[TIL] Spring MVC(Spring 5.0.7 버전)
·
TIL/Spring
스프링 MVC 스프링 MVC는 스프링의 서브(sub) 프로젝트이다. Spring Framework라는 메인 프로젝트 외에도 여러 종류의 서브 프로젝트가 존재하는데, 스프링 MVC도 이러한 프로젝트 중 일부이다. 스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 '코어'라고 할 수 있는 프레임워크에 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되었다. 서브 프로젝트는 별도의 설정이 존재할 수 있다는 개념인데 Spring Legacy Project로 생성한 예제의 경우에도 servlet-context.xml과 root-context.xml로 설정 파일이 분리된 것을 볼 수 있다. 스프링 MVC가 서브 프로젝트이므로 구성 방식이나 설정역시 조금 다르다고 볼 수 있다. 오늘 다루..
[TIL] Spring 5.0.7 버전 다루기(5.x 버전)
·
TIL/Spring
이전에는 스프링 3.X와 4.X 버전을 사용하였다. 오늘부터는 5.X 버전에 대해서 살짝 다뤄보았다. 사용하는 버전은 아래와 같다. JDK 1.8 STS3 Tomcat 8.5.x Oracle 11g XE 참고) 스프링 5.X 최소 JDK 1.8 스프링 4.X 최소 JDK.1.6 스프링 3.X 최소 JDK 1.5 (SP코딩단의 코드로 배우는 스프링 웹 프로젝트(개정판) 교재를 참고하였습니다) 1. 스프링 프로젝트 생성(p30) 1) File - New - Legacy Progject로 프로젝트 생성하기 > 프로젝트명 : ex00 > top-level : org.zerock.controller *** 프로젝트 생성 시 에러 발생 : 이클립스 종료 후 현재 사용자 폴더 내에 있는 .m2 밑에 repositor..