Develop/[Spring] (96) 썸네일형 리스트형 [Spring] Smtp 서버 연동 필요에 의해서 알림을 메일로 전송해야하는 기능을 개발해야해서 gmail smtp 서버를 연동해보려고한다. 1. Google 보안 설정 진행 하기, 2단계 인증하기 https://myaccount.google.com/u/0/security?pli=1 Google 계정 myaccount.google.com 2. 앱 비밀번호 설정 3. 앱만들기를 하면 자동으로 비밀번호를 알려준다. 의존성 주입 implementation 'org.springframework.boot:spring-boot-starter-mail' 설정 파일 spring: mail: host: smtp.gmail.com port: 587 username: ${MAIL_USERNAME} password: ${MAIL_PASSWORD} propert.. [Spring] Response 한글안깨지긔 Spring 에서 기본 필터를 제공해주거나, 빈으로 등록하는데 스프링 버전이 변경되면서 Response를 내리는 필터의 설정 방법도 조금 바뀌었다. server: servlet: context-path=/: encoding: charset: UTF-8 force: true 위 처럼 진행하면 된다.(application.yaml) [Spring] Spring Profile 공부를 막 시작한 친구를 위해.. 기록용 Spring 에서는 profile별로, 변수나 정적 값의 정보를 다르게 가져갈수 있다. 간단하게 파일 구조는 이렇게 분리가 가능하다. application-환경.yaml 이다. 흔히 Java를 런시거나, Jar파일을 실행할때, VM Options을 주게 되는데 이 Vm Option으로 환경변수에 대한 값을 지정해주면 해당 Profile로 분기처리를 하여, 동작을 제어할 수 있다. 인텔리제이를 예로 위 처럼 -D로 변수명,값을 Vm option으로 넘겨주게 되면 스프링이 기동될때 해당 프로파일에 대한 값으로 정보를 가져오게 된다. 이게 가장 흔하고 기본적인 내용이다. @ActiveProfile이나 등등 해당 프로파일을 가지고 빈의 값을 동적으로 분기처리하는.. 그런.. [Spring] 스프링 밸리데이션 동작과정 머리속에 들어있는 내용들을 정리한다. 1. 밸리데이션 관련 의존성 주입. implementation 'org.springframework.boot:spring-boot-starter-validation' 2. 간단한 테스트 @RestController @RequiredArgsConstructor public class MemberController { private final MemberMapper memberMapper; @RequestMapping("/member") public String mapperTest(@RequestBody @Valid MemberDto memberDto){ return "success!"; } } @Getter @Setter @AllArgsConstructor public.. [Spring] 좋은 공통화된 Response를 만들어볼까? 갑자기 생각난것과. 좋은 공통화에 대한 고민을 하다가. 작성하는 글 사실 공통화를 그렇게 열광하지는 않는다. 운영 측면에서 공통화가 무조건 이득이라고 생각하지도 않는다. 때로는 각 상황에 맞는 클래스파일이 하나씩 있는게 좋다고도 생각한다. 단순히 아래와 같은 Response가 있다고 가정하자. @PostMapping("/sample") public Member test(@RequestBody Member member){ System.out.println("id_post~~:"+member.getId()); return member; } 해당 응답 객체를 좀더 공통화를 한다면 아래와 같을 것이다. @AllArgsConstructor @Getter public class EntityResponse { T d.. [Spring] Springboot 3.2 Swagger 설정 Spring boot 3.2 버전으로 올렸다. 스웨거 관련 다양한 설정방법들이 난무해서 어떤게 문제인지 알기 쉽지않다. 그리고 swagger설정에 시간투자를 많이하면 귀찮기도하다. 그래서 정리하자면 단순히 아래 의존성만 주입해도된다. implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' 아래 주소로 확인 가능하다.(로컬 빌드 기준) http://localhost:8080/swagger-ui/index.html 패키지 스캔도 자동으로하고, 여러가지 자동으로 지원해준다. 더 세세한 설정방법등은..사실 뭐 있겠지만.. 사실 나는 스웨거에 별로 시간투자를 안하려고한다 (할게 많다..) [Spring] ObjectMapper 사용 쉽게 json과 ObjectMapper를 많이 쓴다. 이유는 String Object간의 자유로운 이동과 변환을 위해서 많이 사용한다. 내가 주로 사용하는것 외에도 다른 기능들이 존재할 것 같아서, 해당 기능들을 사용하면서 포스팅해보자 1. 의존성 추가 implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3' 2. 간단한 사용 예제 (Object -> String, writerValue) package com.example.demo; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import org.springframework.. [Spring] ObjectProvider + FuntionalInterface Functional Interface와 인터페이스를 결합하는 방법에 대해서 알아보자 1개의인터페이스가 있고 이를 가지고 Configuration을 만들어보자 ObjectProvider를 활용해서 한개의 인터페이스로 여러개의 빈을 만드는 과정이다. 간단하지만 아래와 같이 설계했다. public interface Food { public String getEat(); interface FoodHandler { public String eat(); } } public interface FoodFunc { Food.FoodHandler supply(); } public class FoodImpl implements Food{ FoodHandler handler; public Food with(FoodFunc h.. 이전 1 2 3 4 ··· 12 다음