전체 글44 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. Spring - @RestController와 @Controller의 차이 오늘은 Spring에서 @RestController와 @Controller의 차이에 대해서 알아보고자 한다. @RestController는 많이 사용하지만 @Controller를 거의 사용하지 않게 된 이유는 백엔드와 프론트엔드를 나눠서 개발하게 되었기 때문이다. 전통적인 Spring MVC에서는 @Controller를 사용해서 화면을 전달했었다. 하지만 Restful Api 서버에서는 화면을 전달할 필요가 없기 때문에 @RestController만 사용하게 되었다. 두 어노테이션을 대체 어떤 차이가 있는 것일까? @Controller - View Spring MVC에서는 @Controller는 View를 반환하는 역할을 주로 한다. Spring MVC는 서버 사이드 랜더링이기 때문에 서버가 완성된 ht.. 2022. 8. 11. Spring - @Component @Service Annotation 들의 차이 Spring을 사용하면 어노테이션을 사용해서 편리하게 개발할 수 있다. 서비스, 레포지토리, 컨트롤러 등등에서 다양한 어노테이션들을 사용해왔을 것이다. 어노테이션이 생기기 전에는 xml 파일에 일일히 객체들을 등록해주었어야 했다. 그 복잡한 xml 파일 대신 어노테이션 하나로 처리할 수 있다니 얼마나 행복한 세상인지 비교가 되지 않는다. 그런데 어노테이션을 사용하기는 하지만 어떤 차이가 있는지에 대해서는 잘 모르는 경우가 많다. 오늘은 어노테이션이 어떻게 다른지에 대해서 알아보도록 하자. 먼저 자주 쓰이는 어노테이션들을 정리해보자. @Repository @Component @Controller @RestController @Service 주로 쓰이는 어노테이션들은 이 정도 일 것 같다. 놀랍게도 여기에 .. 2022. 8. 9. Java - Stream에 대해서 Stream이란? Intellij 같은 IDE에서 Java를 사용하다보면 자동완성으로 stream을 자주 볼 수 있다. Stream은 컬렉션들을 iterating 해주는 기능인데 for문을 사용하지 않고 직관적으로 흐름에 따라서 코드를 작성할 수 있다. Stream에서 제공해주는 메소드들이 많이 있기 때문에 잘 활용한다면 복잡한 로직도 읽기 쉽게 코딩할 수 있다. 특징 1. Stream은 데이터를 변경하지 않는다. 데이터를 단순히 읽어서 그 데이터를 가지고 새로운 배열을 만들어낸다. 다시 말하면 원본 데이터는 수정되지 않는다. 2. Stream은 한 번 열렸다가 닫히면 사라진다. 1번의 특징처럼 원본 데이터는 변경되지 않고 한 번 iterate 되고 따로 새로운 컬렉션을 리턴하지 않으면 그대로 사라져 재.. 2022. 8. 9. 이전 1 ··· 4 5 6 7 8 9 10 11 다음