[Spring Security] config 설정 2
·
Server/Spring&Spring Boot
수업 중 진행한 Config를 기준으로 Spring Security 설정 관련된 체인들을 설명하는 글입니다. 과정 configuration 패키지 생성 SecurityConfig 클래스 생성 어노테이션 추가 @EnableWebSecurity @Configuration SecurityFilterChain 추가 추가하지 않을 경우 deny 401 에러 발생 @Bean 추가 EncrypterConfig 클래스 생성 어노테이션 추가 @Configuration BCryptPasswordEncoder SecurityConfig에 생성하지 말 것. @Bean 추가 EncrypterConfig.class @Configuration public class EncoderConfig { @Bean public BCryptP..
[Spring] @RequestBody 바인딩 시, 기본 생성자(@NoArgsConstructor)의 변덕과 필요한 이유
·
Server/Spring&Spring Boot
사건의 발단 문제의 UserLoginReuqst dto @AllArgsConstructor @Getter public class UserLoginRequest { private String userName; private String password; } 사건 내용 @RequestBody로 데이터를 불러오던 중 Type definition error: [simple type, class com.study.domain.dto.UserLoginRequest]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.study.domain.dto.UserLo..
[Spring Security] config 설정 1
·
Server/Spring&Spring Boot
수업 중 진행한 Config를 기준으로 Spring Security 설정 관련된 체인들을 설명하는 글입니다. 과정 configuration 패키지 생성 SecurityConfig 클래스 생성 어노테이션 추가 @EnableWebSecurity @Configuration SecurityFilterChain 추가 추가하지 않을 경우 deny 401 에러 발생 @Bean 추가 EncrypterConfig 클래스 생성 어노테이션 추가 @Configuration BCryptPasswordEncoder SecurityConfig에 생성하지 말 것. @Bean 추가 SecurityConfig.class Spring Security 설정을 검색해보면, WebSecurityConfigurerAdapter을 상속받아 설정을..
[Docs] Swagger 도입
·
Server/Spring&Spring Boot
Swagger? 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 의존성 추가 dependencies { implementation 'io.springfox:springfox-boot-starter:3.0.0' } Swagger 3.x.x 버전 spring boot 2.6.x 호환 이슈 application.yml 또는 application.properties 등에 다음과 같은 내용을 추가한다. Spring boot 설정이 변경되면서 호환 이슈가 발생되었다고 한다. spring: mvc: pathmatch: matching-strategy: ant_path_matcher Swagger..
[Spring Security] 기본 유저, 비밀번호 변경
·
Server/Spring&Spring Boot
스프링 시큐리티 기본 계정 스프링 시큐리티의 dependency를 추가하면, 애플리케이션 구동 시 다음과 같은 로그인 화면이 등장한다. 기본적으로 Username = user 이며 패스워드는 애플리케이션 구동 시 콘솔에 등장한다. 매번 구동할 때마다 랜덤한 난수를 반환해주는데, 이게 귀찮을 경우 user name과 password를 고정시킬 방법이 있다. 스프링 시큐리티 계정 변경 application.yml에서 다음과 같이 입력한다. # 스프링 시큐리티 security: user: name: password: yml에 내용 저장후 다시 애플리케이션을 구동하면 입력한 정보를 통해 로그인을 할 수 있다. 참조 Spring Security 기본 User/Password 설정 Spring Security 의존..
[테스트 코드] Controller Test, MockMVC
·
Server/Spring&Spring Boot
과정 수업 시간 중, Controller Test를 진행했습니다. Repository 테스트와는 달리 새로운 개념, 메서드 등이 대거 등장하면서 모르는 부분들이 많아 정리를 하였습니다. 단위 테스트 단위 테스트는 프로젝트에 필요한 모든 기능에 대한 테스트를 각각 진행하는 것을 의미 일반적으로 스프링부트에서는 org.springframework.boot:spring-boot-starter-test 디펜던시만으로 의존성을 모두 가질 수 있다. F.I.R.S.T 원칙 Fast: 테스트 코드의 실행은 빠르게 진행되어야함 Independent : 독립적인 테스트가 가능해야함 Repeatable : 테스트는 매번 같은 결과를 만들어야 함 Self-Validating : 테스트는 그 자체로 실행하여 결과를 확인할 수..
[토비의 스프링] 싱글톤 레지스트리와 오브젝트 스코프
·
Server/Spring&Spring Boot
직접 생성한 DaoFactory 오브젝트 출력 시 DaoFactory factory = new DaoFactory(); UserDao dao1 = factory.userDao(); UserDao dao2 = factory.userDao(); System.out.println(dao1); System.out.println(dao2); springbook.dao.UserDao@118f375 springbook.dao.UserDao@117a8bd userDao를 계속 호출하면 매번 새로운 오브젝트가 생성된다는 것을 알 수 있다. 여기에서 스프링 애플리케이션 컨텍스트에 DaoFactory를 설정 정보로 등록 후 getBean() 메소드를 이용해 userDao라는 이름으로 등록된 오브젝트를 가져오면 다른 결과가 ..
[스스로 이해해보는 스프링] 책임의 분리
·
Server/Spring&Spring Boot
책임의 분리 토비의 스프링을 공부하다보면 계속 나오는 단어가 보이는데 그것이 바로 관심, 책임이다. 관심이란 무엇이고, 책임은 무엇이기에 계속해서 나눠야하는 것이며 분리시켜주어야하는 것일까? 비전공자, 개발 초보의 입장에서는 계속해서 물음표가 이어졌다. 토비의 스프링 책을 보면서 처음부터 다시 정리해보자. 1. 우리는 맨 처음 UserDao에 직접 getConnection이라는 메서드를 만들어 DB와 연결을 시도했다. public class UserDao { /*중복된 코드를 독립적인 메소드로 만들어 중복 제거*/ private Connection getConnection() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.c..
코드플리
'Server/Spring&Spring Boot' 카테고리의 글 목록 (4 Page)