IT이야기/LANGUAGE4 [SpringBoot] SpringBoot 3.0 이상의 SecurityConfig 설정 - 람다식으로 변경 스프링 부트 기반으로 프로젝트를 생성할 때, 가장 무난하게 쓰는 버전이 Java 11 에 SpringBoot 2.7 버전 정도를 많이 쓰는 것으로 알고 있다. 근데 이제 나는 Java 17에 SpringBoot 3.2를 쓰게 되면서 SecurityConfig 설정을 하기 위해 사용되는 방법 중 deprecated된 것들이 있어서 다른 방법으로 작성을 해야 한다는 문제에 직면했다. https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter 공홈에서 읽어보면 알겠지만 '컴포넌트 기반 구성(@Bean사용)보안을 위해 변경하였음. 람다식을 사용하여 쓰도록 변경됨. 정도로 바뀌었다고 보면 되겠다. 공통적인 Se.. 2024. 3. 21. [Java/Spring] 개선된 아키텍쳐로 리팩토링 & 자바 테스트 인프런 - Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 / 섹션4 강의 레이어드 아키텍쳐에서 (직관적인 형태) 서로 역의존성을 주입한 상태로 바꾸기 위해 개선된 아키텍쳐로 변경하는 작업을 끝내고 -추상화작업- 그에 맞춰 테스트에도 새로운 방식을 적용하게 되었다. 우선 뜯어고치는 단계에 대해 설명해주시는데 그 부분 덕에 깃허브 코드들 종종 보면 그놈의 Impl 클래스가 왤케 많냐~~~~~~ 싶었던 부분이 해소됐다. 이게 의식의 흐름대로 구조를 직관적으로 짜게 되면 나오는 아키텍쳐다. 실제로 내가 첫 프로젝트를 생성할 때도 그렇게 진행을 했었다. 그런데 이처럼 구조를 만들게 되면 테스트를 하게 될 때 DB를 자꾸 연결해서 테스트 할 수 밖에 없고 테스트하고 싶은건 Repository인데 .. 2024. 1. 21. [JAVA / SpringBoot] Controller와 POSTMAN 테스트 예시(DTO, LIST, RequestPart, Multipart) 프로젝트를 진행하면서 백/프론트 서버를 나눠서 개발하다보니 혼자서 타임리프로 프론트 개발하여 통신방식을 테스트할 수가 없어서 포스트맨을 드디어 제대로 써보게 되었다. 다만, 이 때 컨트롤러 아규먼트의 데이터 타입이 여러가지다보니 포스트맨에서는 어떻게 예시데이터를 싣어서 보내야 하는지 찾는게 힘들었었다. 그래서 이번 기회에 정리를 해 둔다. 목차 1. PathVariable - Controller public ResponseEntity testMethod(@PathVariable Long id) 가장 기본적인 url에 필요한 값을 싣어 보내는 방식이다. - PostMan http://localhost:8080/api/v1/items/{id} 단순히 해당 컨트롤러 URL에 마지막 id값만 붙여서 테스트 해주.. 2024. 1. 19. [JAVA/SpringBoot] DataConfig 설정 - 두 개 이상의 DB서버를 사용할 경우 @DataSource사용, JPA DatabaseConfig 사이드 프로젝트에서는 당연하지만 이전 회사에서도 한 프로그램에 데이터베이스를 여러개 쓰는 일은 없었다. 찾아보니 그런 일이 아예 없는 건 아니고 규모가 크면 클수록 여러개를 쓰는 일이 있기는 하다고 하더라. 혹은 Mybatis -> JPA로 전환하는 과정이나 기타 마이그레이션 작업에도 쓸 수 있겠다. 다른 프로젝트 일 좀 도와주다가 데이터베이스를 두개 설정해놓은 경우를 봤다. DatabaseConfig 라는 파일을 하나 생성해주고 시작하자. 참고로 내가 사용하는 방식은 JPA + 기타 데이터베이스 형태라고 보면 되겠다. 목차 JPA를 적용한 DatabaseConfig 설정 @Configuration @EnableTransactionManagement(proxyTargetClass = true) @Enab.. 2024. 1. 16. 이전 1 다음