본문 바로가기

Spring

(5)
http.formLogin() http.formLogin() .loginPage("/login.html") .defaultSuccessUrl("/home") .failureUrl("/login.html?error=true") .usernameParameter("username") .passwordParameter("password") .loginProcessingUrl("/login") .successHandler(loginSuccessHandler()) .failureHandler(loginFailureHandler()) ; loginPage 사용자 정의 로그인 페이지 사용자가 Login 페이지를 구성한 후, 경로를 입력하면, LoginPage 호출시 해당 경로에 작성한 커스텀 페이지가 열린다. defaultSuccessUrl 로그..
Spring Security 기본 User/Password 설정 Spring Security 의존성을 추가하면 기본적으로 로그인 가능한 id/pasword를 제공한다. 기본 아이디는 user 이고, password 는 스프링 부트를 실행할 때마다 랜덤한 UUID 값으로 제공한다. Using generated security password: 392c7d84-9210-4a3b-9d81-b516abcb4b47 2021-12-19 18:16:10.594 INFO 62476 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6..
JPA 기본키 할당 전략 들어가며 스프링 부트를 활용한 마이크로 서비스 개발 로 스터디를 진행하며, WAS가 여러개인 경우, JPA는 어떻게 ID를 할당해 동시성 문제를 해결하는지에 대한 질문이 나왔다. 그래서 자바 ORM 표준 JPA 프로그래밍 책과 인프런 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 다시 보며 정리한 내용이다. 예제 코드 @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private String id; } 기본키 할당 전략 직접 할당 기본키를 애프리케이션에서 직접 할당한다. 자동 할당 대리키 사용 방식 IDENTITY : 기본 키 생성을 데이터베이스에 위임한..
Mockito 프레임워크를 이용해 테스트하기 이전 포스팅 - 다형성을 이용해 익명 객체를 만들어 테스트 하기 앞서 다형성을 이용해 테스트용 객체를 만들어 Service Layer 의존성을 갖는 Controller Layer를 테스트 하는 방법을 알아보았다. 다형성을 이용해 테스트 하는 방법은 테스트하는 경우에 따라 예상되는 반환값을 일일히 Bean 으로 설정해야하는 번거로움이 있다. 물론 테스트케이스마다 Bean 작성할 수 있다. 하지만 번거로운 일이 아닐 수 없다. 본 포스팅에서는 Mockito 프레임워크를 이용해 가짜객체(Mock) 를 만들어 테스트 하는 방법을 알아본다. 실습 예제 다형성을 이용해 익명 객체를 만들어 테스트 하기 에서 사용한 테스트 케이스에 Mockito 프레임워크를 적용한다. 1. Mock 객체 설정 MockitoExtens..
다형성을 이용해 익명 객체를 만들어 테스트 하기 자바에서 특정 클래스를 테스트 할 때, 의존하는 객체를 주입받아 테스트한다. 본 포스팅에서는 SpringBoot에서 다형성을 이용해 객체를 주입받아 테스트 하는 방법에 대해 알아본다. 테스트 환경 CatalogRestController.java 현재 CatalogRestController.java은 CatalogService.java 를 주입받아 사용한다. createCatalog()는 CatalogService.java 의 save() 메소드에게 입력받은 값을 저장하도록 위임한다. CatalogService.java CatalogService.java 는 인터페이스이고, 현재 save() 메소드 하나만 가지고 있다. CatalogService.java 를 직접 구현한 객체는 없는 상황이다. 테스트 케이..