Spring 4

스프링 빈 순환 참조 (The dependencies of some of the beans in the application context form a cycle)

2020-05-05 11:01:07.146 WARN 24213 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountController' defined in file [/Users/seongjin/Documents/taggare/server/out/production/classes/com/sns/server/acc..

Spring 2020.05.05

스프링 시큐리티 코어

스프링 시큐리티 코어 동작 방식 정리 AuthenticationManager: AuthenticationProvider를 들고있는 주머니 역할 Builder 패턴으로 구현 등록된 Authentication Provider들에 접근하는 유일한 객체 단순 인터페이스에 불과, 내장 구현체: Provider Manager AuthenticationManager를 구현해서 쓰지말자(Pivotal사 스프링 개발자보다 더 잘 만들 자신이 없다면..) 직접 구현해서 만들어진 인터페이스가 아니다. ProviderManager.class(Spring Security's DeCompiled ProviderManager Class) public Authentication authenticate(Authentication au..

Spring 2020.05.04

[Lombok] @Builder와 @NoArgsConstructor 동시 사용시 주의사항

@Builder와 @NoArgsConstructor를 함께 사용하려면, @AllArgsConstructor도 함께 사용하거나 모든 필드를 가지는 생성자를 직접 만들어 줘야 한다. 또한, @Builder를 사용할 때 @NoArgsConstructor뿐만 아니라 손수 만든 다른 생성자가 있다면, 그 때도 모든 필드를 가지는 생성자가 필요하다. 문제 발생 아래처럼 @Builder와 @NoArgsConstructor를 함께 사용하면, 컴파일 시 에러가 발생한다. // @Getter @Setter @EqualsAndHashCode 등등 @Builder @NoArgsConstructor public class MyName { private String first; private String last; } Error..

Spring 2020.04.13

@ExceptionHandler를 통한 예외처리

커스텀 예외들은 표준 자바 예외부분이 아닌 속성 정보 및 비즈니스 로직 정책에 의한 예외들을 핸들링 할 수 있는 유연성을 제공한다. 이러한 특징은 애플리케에션에 에러코드 같은 부가정보를 저장할 수 있고, Runtime상에서 사용자에게 발생한 에러를 예외 처리하거나 보여주기 위해 사용한다. @ExceptionHandler 특정 핸들러 클래스 및 / 또는 핸들러 메소드에서 예외를 처리하기위한 어노테이션이다. https://docs.spring.io/spring/docs/5.2.5.RELEASE/javadoc-api/ Spring Framework 5.2.5.RELEASE API docs.spring.io CustomExceptionHandler @RestControllerAdvice public class ..

Spring 2020.04.11