본문 바로가기

분류 전체보기48

Spring Security -HttpSecurity HttpSecurity는 인증, 인가의 세부적인 기능을 설정할 수 있도록 API를 제공해주는 클래스이다. WebSecurityConfigurerAdapter를 상속하여 configure(HttpSecurity http) 메서드를 오버라이드 해 설정한다. @EnableWebSecurity @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { } } formLogin http.formLogin()은 form을 통한 로그인 방식에 대해 설정을 한다. @Override protected vo.. 2021. 11. 30.
Spring Boot에 Redis Cache 적용해보기 간단하게 Spring boot에서 Redis를 통해 Cache를 해보겠습니다. 첫째로 Redis 의존성을 추가하고 설정을 해야 합니다. builde.gradle implementation 'org.springframework.boot:spring-boot-starter-data-redis' RedisConfig.class @Configuration public class RedisConfig { @Value("${spring.redis.host}") private String redisHost; @Value("${spring.redis.port}") private int redisPort; @Bean public LettuceConnectionFactory connectionFactory() { retu.. 2021. 11. 25.
Spring Security - WebSecurityConfigurerAdapter Spring Security의 보안 기능을 커스텀하려면 WebSecurityConfigurerAdapter를 상속한 Config 클래스가 필요하다. 그리고 WebSecurityConfigurerAdapter에 있는 Method를 오버라이드를 통해 보안 설정을 한다. SecurityConfig.class @EnableWebSecurity @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { } WebSecurityConfigurerAdapter엔 다양한 메서드들이 있다. 이제 간단하게 보안 설정을 해보겠다. configure(HttpSecurity http) 메서드를 오버라이드 한다. @EnableWebSecuri.. 2021. 11. 23.
Spring Security 의존성 추가하기 처음 프로젝트 생성 시 Spring Web Mvc만 의존성을 추가해 보았다. 그리고 간단한 Controller를 만들었다. build.gradle 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-web' HelloController.class @RestController public class HelloController { @GetMapping("/hello") public String hello(@RequestParam(required = false, defaultValue = "guest") String name) { return "hello " + name; } } localhost:8080/hello에 접속을 하면 정상적으.. 2021. 11. 22.
Tennis Together 6주차 프로젝트 마감일이 다가온다. 내가 맡은 기능은 거의 다 구현이 되었지만 실제 서버에서 동작하는데 여러 버그들이 있는 것 같다. 이를 수정하는데 시간을 보낼 것 같다. 지금까지 API 문서는 Notion으로 관리했었는데 튜터님께서 Swagger를 적용해보라고 제안해주셨다. 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대부분의 사용자들은 스웨거 UI 도구를 통해 스웨거를 식별하며 스웨거 툴 셋에는 자동화된 문서화, 코드 생성, 테스트 케이스 생성 지원이 포함된다. 위키백과를 인용했는데 쉽게 말해 Swagger란 API를 관리하는 오픈소스 프레임워크라고 보면 되겠다. Spring bo.. 2021. 11. 21.
Junit과 mockito 조합으로 단위 테스트 해보기 테스트의 종류에는 통합 테스트와 단위 테스트가 있다. 이 글에는 단위 테스트를 이야기해보겠다. 단위 테스트의 특징은 다른 의존하는 객체가 있다면 의존성을 끊는게 중요한데 이를 고립이라고 표현한다. 예를 들어 Service의 비지니스 로직을 테스트하는데 클라이언트나 DB의 문제로 테스트가 진행되지 않는다면 고립이 되어있지 않은 것이다. 그런데 의존하는 객체를 어떻게 고립시킬 수 있을까? 바로 Mock 객체를 사용한다. Mock이란 아무 기능이 없는 가짜 객체를 의미한다. 하지만 의존하는 모든 객체에 대해 Mock을 만드는 건 쉬운 일이 아니다만 다행히 Mockito라는 Mock 객체를 쉽게 만들어주는 프레임워크가 있다. 자바 환경에서 junit과 mokito를 이용해서 테스트 코드를 작성한다. 간단한 예를.. 2021. 11. 21.
728x90