본문 바로가기
반응형

Spring49

SpringBoot @MockBean, @SpyBean 소개 안녕하세요? 이번 시간엔 SpringBoot의 @MockBean, @SpyBean 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 들어가며 SpringBoot 1.4에서 2개의 테스트 어노테이션 @MockBean, @SpyBean 이 추가되었습니다. (기존에 Mockito를 통해 Mock 테스트를 진행하신 분들에게 좀 더 편의성을 제공해주기 위함인것 같습니다.) 유닛테스트에 익숙하지 않을때는 테스트 코드 작성을 통합테스트 (Integration Test)로 작성하였습니다. (즉, 하나의 Service 메소드 단.. 2017. 9. 23.
Spring OAuth + Spring Session시 HTTP URL must not be null 발생 원인 및 해결 안녕하세요? 이번 시간엔 Spring OAuth + Spring Session시 HTTP URL must not be null 발생의 원인 및 해결방안을 소개드리려 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 상황Spring Session과 Spring OAuth2를 조합해서 로그인 시스템을 구축한다고 가정해보겠습니다.Spring OAuth2 적용가장 먼저 Spring OAuth2를 프로젝트에 적용시켜보겠습니다.build.gradlebuildscript { ext { springBootVersion = '1.5.6.REL.. 2017. 8. 19.
Spring Security & 구글 OAuth & 테스트코드로 진행하는 계정 권한 관리 - 2 1-4. 로그인 세션 관리 OAuth2를 사용한다고해서 기존과 다른 마법같은 일이 펼쳐지는것은 아닙니다. OAuth2는 사용자 인증 및 허가된 정보를 가져오는 것외에는 사용하지 않습니다. 인증된 정보를 통해 로그인 세션을 관리하고, 사용자는 저희가 만든 서비스의 세션을 통해 서비스를 이용해야만 합니다.세션을 사용하는 방법은 크게 3가지가 있습니다.톰캣 세션을 사용한다.일반적으로 별다른 설정을 하지 않으시고 HttpSession을 사용할 경우입니다.이렇게 될 경우 톰캣(WAS)에 세션이 저장되기 때문에 2대이상의 WAS가 구동되는 환경에서는 톰캣들간의 세션 공유를 위한 추가설정이 필요합니다.Database를 세션저장소로 사용한다.여러 WAS들간의 공용 세션을 사용할 수 있는 가장 쉬운 방법입니다.많은 설정.. 2017. 8. 14.
Spring Security & 구글 OAuth & 테스트코드로 진행하는 계정 권한 관리 - 1 안녕하세요? 이번 시간엔 Spring Security & 구글 OAuth로 진행하는 계정 권한 관리 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 1. 구글 로그인최근 많은 회사에서 사내 백오피스 시스템의 로그인을 구글 OAuth로 진행하고 있습니다. 구글 메일을 사내 메일로 사용하면 많은 백 오피스의 로그인 시스템을 구글 계정 하나로 관리할 수 있기 때문입니다. 하지만, 백 오피스가 각각 용도에 따라 구별되어있으면 괜찮지만, 보통은 하나의 백오피스를 여러 팀에서 사용할때가 많습니다. 그럴 경우 각각의 팀마다.. 2017. 8. 5.
SpringBoot에서 JPA 쿼리 파라미터 확인하기 안녕하세요? 이번 시간엔 아주 간단한 팁이지만, 필요하신 분들이 많이 계실것 같은 SpringBoot에서 JPA 쿼리에 사용된 파라미터 값을 확인하는 방법을 소개하려 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 본문 사실 이렇게 포스팅하기엔 너무 깃털같은 양이라 부끄럽기도 합니다^^; 방법은 아주 간단합니다. 프로젝트의 application.yml/properties 에 logging.level.org.hibernate.type을 추가하신후, 값을 trace로 하시면 됩니다. 추가 팁 application.yml / prope.. 2017. 5. 29.
프론트엔드에서"만" 유효성 검사가 문제인 이유 안녕하세요? 이번 시간엔 프론트엔드에서 유효성 검사가 문제인 이유에 대해 간단한 예제를 통해 소개하려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 이미 아시는 분들에겐 너무나 당연한 이야기겠지만, 외부의 사용자 서비스가 아닌 내부 시스템을 주로 하시는 분들은 크게 신경쓰지 않는 부분이라 모르실 수도 있다는 생각에 진행하게 되었습니다. 길지 않은 내용이라 빠르게 보실 수 있으실것 같습니다^^; 사용된 코드는 전부 위에 링크된 Github 주소에 있으니 참고해주세요! 그럼 시작하겠습니다.문제 상황결론적으로 클라이언트 사이드에서만.. 2017. 4. 25.

728x90