본문 바로가기

Spring19

Spring - @Autowired를 쓰면 warning이 뜨는 이유 Warning @Autowired 어노테이션을 사용하면 언제부턴가 IDE에서 불평을 내뱉으며 warning이 뜨게 된다. 그런데 막상 사용해보면 전혀 문제 없이 어플리케이션이 잘 작동하는 것을 알 수 있다. 그러면 도대체 어떤 이유 때문에 warning이 뜨는지 알아보도록하자. @Autowired란? 먼저 @Autowired 어노테이션이 어떤 역할을 하는지에 대해서 알아보도록하자. @Autowired는 의존성을 주입하기 위해 사용하는 어노테이션이다. 어노테이션 기반 환경이 나오기 전에 Spring에서는 xml 파일에 모든 Bean을 직접 등록하는 번거로움이 있었다. @Autowired가 나오고서부터는 클래스에 @Component라는 어노테이션을 붙여주고 사용할 때 간단하게 @Autowired만 사용하면 .. 2022. 8. 16.
Spring - @EnableGlobalMethodSecurity Spring Security 두가지 방법 Spring에서는 Web 기반의 Security과 Method 기반의 Security 기능을 제공한다. 메소드 기반은 메소드 별로 권한을 체크하는데 Web 기반과 다르게 필터가 아닌 컨트롤러 단에서 권한을 처리하는 기능이다. 두개의 Security 적용 방식은 하나만 선택하는게 아니라 동시에 섞어서 사용할 수 있다. Web Security에서 URL과 Token 유무로 인증을 하고 Method Security를 사용해서 권한에 따라 인가를 하는 방법이 있다. Rest api에서는 Web Security에서도 권한에 따라 인가를 처리할 수 있기 때문에(antMatcher 사용) 굳이 메소드 기반을 같이 사용하지 않아도 된다. 오늘은 두가지 방법 중에서 @Enabl.. 2022. 8. 14.
Java - Checked and Unchecked Exception Java의 Exception은 크게 두가지로 나뉜다. 바로 Checked Exception과 Unchecked Exception이다. 먼저 Checked Exception에 대해서 알아보고 다음으로 Unchecked Exception에 대해서 알아보도록하겠다. Checked Exception Checked Exception은 쉽게 말해서 컴파일 타임에 잡히는 Exception이다. 예를 들면 FileInputStream이라는 클래스의 생성자는 만약 파일이 없을 경우에 FileNotFoundException을 발생시키는데 아래처럼 Exception을 처리해주는 코드를 넣어주지 않으면 컴파일에서 "java: unreported exception java.io.FileNotFoundException; must.. 2022. 8. 13.
Spring - Security SuccessHandler 와 FailureHandler defaultSuccessUrl, failureUrl Spring Security에서는 인증에 성공, 실패 했을 때 단순히 redirect만 시켜주고 싶다면 defaultSuccessUrl 혹은 failureUrl을 사용할 수 있다. 이렇게 설정해 놓으면 지정된 url로 redirect가 된다. api를 호출할 수도 있고 화면을 리턴할 수도 있다. 그런데 이렇게 redirect를 시키면 아무 값도 함께 넘겨줄 수가 없다. 심지어 FormLogin을 했을 경우에는 컨트롤러로 redirect를 시켜도 SecurityContext에서 Authentication을 가져오는 것도 안된다. 이럴 때 사용할 수 있는 방법이 바로 아래 나올 successHandler와 failureHandler이다. successHa.. 2022. 8. 12.