SpringFramework 36

관련 어노테이션

통합테스트 @SpringBootTest 통합 테스트를 제공하는 기본적인 스프링 부트 어노테이션 JUnit4 @RunWith(SpringRunner.class) 어노테이션을 함께 사용해야한다. JUnit5 @RunWith(SpringRunner.class) 어노테이션을 사용하지 않는다. properties 프로퍼티를 key=value 형식으로 추가할 수 있다. 다른 환경 설정 파일을 로드할 수 있다. 단위테스트 @WebMvcTest, @DataJpaTest, @RestClientTest, @JsonTest 등

Spring Security 세션정보 조회

@Controller로 선언된 bean 객체에서는 메서드 인자로 Principal 객체에 직접 접근할 수 있다. @GetMapping("/login/result") public String loginResult(Principal principal){ log.info("session > " + principal.getName()); return "loginSuccess"; } authentication 토큰 사용 @GetMapping("/login/result") public String loginResult(Authentication authentication){ UserDetails userDetails = (UserDetails) authentication.getPrincipal(); log.info..

Spring Security 설정

의존성 주입 implementation 'org.springframework.boot:spring-boot-starter-security' SecurityConfig 작성 @Configuration @EnableWebSecurity // Spring Security 설정할 클래스라고 정의, 설정은 WebSebSecurityConfigurerAdapter 클래스를 상속받아 메서드를 구현하는 것이 일반적인 방법 @AllArgsConstructor public class SecurityConfig extends WebSecurityConfigurerAdapter{ private UserLoginService userLoginService; @Bean public PasswordEncoder passwordEn..

Spring Boot

ㄴ스프링 부트 독립적 어플리케이션을 빠르고 쉽게 만들수 있다. 빠르고 폭넓은 사용성을 제공 가장 많이 사용하는 기본 설정을 제공하고, 설정을 쉽고 빠르게 할 수 있다. 코드 제너레이션, XML 설정을 사용하지 않음 자바8 이상부터 사용 가능함. 서블릿 버전은 3.1 이상부터만 스프링 프레임워크 주요 3대 기술 IoC(Inversion of Control, 제어의 역전, 의존적 주입) 객체의 생성부터 생명주기 관리까지 모든 객체에 대한 제어권이 바뀐것을 의미 자바 객체를 생성하고 서로간의 의존관계를 연결시키는 제어권은 어플리케이션이 있으나, Servlet, EJB등을 사용하는 경우 제어권이 컨테이너로 넘어간다. - DL(Dependency Lookup) EJB, Spring - DI(Dependency I..

Spring Web Flux

reactor3 API를 기본으로 사용하도록 되어있다. MVC와 웹플러스를 공존해서 사용할 수 있도록 되어있다. 그러므로, 스프링 웹플럭스 프레임워크는 두가지 방식으로 개발이 지원된다. - 어노테이션 방식 - 함수형 모델 형식 WebFlux는 아래와 같은 상황에서 사용하는게 좋다. - 비동기 - 논블록 리액티브 개발 - 효율적으로 동작하는 고성능 웹 애플리케이션 개발 - 서비스간 호출이 많은 마이크로서비스 아키텍처에 적합 WebFlux는 ServerHttpRequest, ServerHttpResponse 객체를 사용한다. HttpServletRequest, HttpServletResponse 객체를 사용하지 않음. 설정 Dependency 추가 implementation 'org.springframewo..