목록Spring (16)
charminseok

스프링 시큐리티는 표준 servlet Filter를 이용한 프레임워크로 Servlet Container를 통해 기능을 제공받습니다. 그렇기 때문에 서블릿 컨테이너를 실행하는 모든 어플리케이션에서도 사용할 수 있습니다. 이중에서도 인증을 담당하는 모델의 중심에는 SecurityContextHolder가 있습니다. 그림에서와 같이 SecurityContextHolder는 SecurityContext를 포함하고 또 그 안에는 사용자 정보인 Authentication을 가지고 있습니다. 사용자 인증정보를 저장하는 간단한 방법으로 SecurityContextHolder를 설정하는 것인데, 여기서 중요한 점은 SecurityContextHolder.getContext().setAuthentication(authen..
@SpringBootApplication 어노테이션에 @ComponentScan, @EnableAutoConfiguration이 있어서 자동적으로 웹 애플리케이션으로 된다. 먼저 @ComponentScan이 빈을 등록하고 @EnableAutoConfiguration에서는 spring.factories에 있는 Configuration중 조건에 맞는 것으로 적용되어 빈이 생성된다. 자동 설정 만드는 방법 의존성 추가 @Configuration 파일 작성 spring.factories 파일 만들기 spring.factories. 자동설정 파일 추가 mvn install 프로젝트에서 자동설정을 가져왔을때, 직접 만든 빈이 있는데 덮어쓰기가 되는 문제가 생기는데 이를 해결하기 위한 방법으로 자동설정 프로젝트의 빈..
parent POM 사용. spring-boot-dependencies에 모든 의존성들이 정의되어 있다. 그렇기 때문에 버전을 명시하지 않아도 스프링 부트에서 관리해준다. 장점 직접 관리해야할 의존성이 줄어든다. Documentationdocs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-dependency-management docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-dependency-management Spring Boot Reference Documentation This section goes into more detail about..

Spring boot는 제품 수준의 어플리케이션을 빠르고 쉽게 만들 수 있다. opinionated view를 기본적으로 제공해준다. 스프링 부트 프로젝트 구조 @springBootApplication 어노테이션이 있는 main 어플리케이션 클래스는 컴포넌트 스캔 때문에 최상위 패키지에 만드는 것을 추천한다. Application.java에서부터 컴포넌트 스캔을 한다. 스프링 부트 개념과 활용 - 인프런 스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급이상 프레임워크 및 라이브러리 Back-End Spring Spring Boot Java 온라인 강의 www.inflearn.com 백기선님의 스프링 부트를 들으면서 정리한 내용.
AOP란? 흩어진 Aspect(공통 기능)를 모듈화하는 프로그래밍 기법으로 OOP를 보완해준다. AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 출처: https://engkimbs.tistory.com/746?category=767795 [새로비] AOP 용어 target: 부가 기능을 부여할 대상(class, 메서드, ..). Aspect: 부가기능 모듈 Advice: 부가기능을 담은 구현체로 해야할 일들을 뜻한다. Pointcout: 부가 기능이 적용될 대상을 선정하는 것. 부가기능을 어디에 적용하는지. ..
스프링 Expression Language 객체들의 정보를 조회하거나 조작하는 기능을 제공한다. 여러 EL이 있지만 스프링 프로젝트 전반에 걸쳐 EL이 필요하기 때문에 메소드 호출을 지원하고 문자열 템플릿 기능도 있는 EL을 스프링 3.0에서부터 지원한다. 스프링 코어 뿐만 아니라 여러곳에서 쓰임. #{"표현식"} ${"프로퍼티"} 표현식 안에 프로퍼티를 넣는 것은 가능. ex) #{${}} ExpressionParser parser = new SpelExpressionParser(); Expression expression = parser.parseExpression(“SpEL 표현식”); Integer val = expression.getValue(Integer.class);
Data Binding은 사용자 입력을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 유용한 기능이다. 스프링에서 제공해주는 인터페이스로는 DataBinder가 있다. 이러한 기능을 제공하는 이유로는 사용자는 대부분의 입력값을 문자열로 사용하는데, 이런 데이터 타입을 DataBinder가 제공하는 기능으로 자바의 데이터 타입으로 변환해서 넣어주기 때문이다. PropertyEditor PropertyEditor의 구현체들은 thread-safe하지 않기때문에, 여러 쓰레드에 공유되서 사용하면 안된다.(Bean으로 등록해 사용하면 안됌) 상태정보를 가지고 있다 Object와 String간의 변환만 사용할 수 있어서 매우 제한적이다. Converter 이러한 단점들때문에 Spring 3.0부터 Conve..
Bean Validation 이란? Bean Validation은 JavaBean 유효성 검증을 위한 메타데이터 모델과 API에 대한 정의이며 여기서 언급하고 있는 JavaBean은 직렬화 가능하고 매개변수가 없는 생성자를 가지며, Getter 와 Setter Method를 사용하여 프로퍼티에 접근이 가능한 객체를 의미합니다. 애플리케이션에서 사용하는 객체 검증 인터페이스이다. 이 Validator 인터페이스는 특정 계층에만 사용하는게 아니라 모든 계층(웹, 서비스, 데이터, ...)에서 사용할 수 있다. 출처: Spring Bean Validation. Bean Validation 이란? | by Dope | @WEBEVELOPER | Medium validator 인터페이스 1. supports(Cl..