Spring Security란 ? 스프링에서 제공하는 보안 관련 프레임워크다. 사용자의 요청에 대한 인증, 사용자가 권한이 있는지 확인하는 인가, 응답 등등 보안에 관련해서 많은 부분을 제공해주고 있기 때문에 개발자가 하나하나 보안에 대응하는 코드를 짜지 않아도 되는 장점이 있다. 대부분 우리는 Spring Security를 로그인 유지/페이지 권한 등에 사용한다. Spring Security를 좀 더 이해하기 위한 용어 의미들 위에서 Spring Security의 의미를 설명하면서 인증과 인가에 대해서 말했다. 그럼 인증과 인가의 정확한 의미는 뭘까 ? 인증, 인가 뿐만 아니라 나중에 나오는 중요한 용어들도 함께 정리해보았다. 인증(Authentication) : 사용자가 본인인지 확인하는 절차 인가(..
1. 프로젝트 생성 먼저 프로젝트를 생성해보자. 해당 사이트 으로 들어가서 아래와 같이 작성해주자. 그리고 intellij로 프로젝트를 실행하고 build.gradle파일을 찾아 dependencies에 아래코드를 복사해 붙여준다. implementation 'org.springframework.boot:spring-boot-starter-aop' 그럼 준비는 다 끝났다. 2. AOP 적용할 예제 작성 controller 패키지를 만들어주고 RestApiController 클래스를 생성하고 아래 코드를 작성하자. 아래코드는 간단한 get, post 매핑을 하여 로그가 찍히는지 확인하는 로직이다. User에 빨간줄이 뜨는 것을 알 수 있다. 그럼 User 객체를 만들어보자. dto라는 클래스를 만들고, U..
1. AOP란 ? Aspect Oriented Programming의 줄임말로, 관점지향 프로그램 이라고 한다. 스프링 어플리케이션은 특별한 경우를 제외하고 MVC 웹 어플리케이션에서 Web Layer, Business Layer, Data Layer 로 정의한다. 스프링 DI가 의존성에 대한 주입이라면, AOP는 로직에 대한 주입이라 볼 수 있다. 1-1. Web Layer REST API를 제공하고 Client 중심의 로직을 적용. 보통 요청에 대한 응답을 해주거나 HTTP 상태를 변경한다. Controller라고 생각하면 될 것 같다. 1-2. Business Layer 내부 정책에 따른 logic을 개발. 서비스 로직을 짜는 것이 Business Layer라고 볼 수 있다. Service라고 생각..
클론코딩을 하거나, 인강을 듣거나, 테스트케이스로 알맞은 로직인지 확인할 때 Builder패턴을 많이 사용하는 것을 봤다. 언뜻보면 생성자와 다른 점이 보이지 않았고, 필드 값이 적으면 Setter메서드를 사용하면 되는데 왜 Builder패턴을 강조하면서 이야기 할까? 그래서 Builder패턴에 대해서 알아보았다. 1. 자바빈즈 패턴 우리는 대부분 개발을 할 때, 객체 생성 후 내부 변수 세팅을 위해서 Setter메서드를 호출하는 방법을 쓰고 있다. setter 메서드로 객체 필드 값을 초기화 하는 방법을 자바빈즈 패턴 이라고 한다. 그런데 변수 갯수가 많은 경우는 어떨까 ? 아래코드는 회원의 정보를 나타내는 클래스와 setter로 객체를 초기화 시키는 방법이다. @Data public class Mem..
- Total
- Today
- Yesterday