Framework & Library/Spring Boot
-
Spring Boot - DTO & VO & EntityFramework & Library/Spring Boot 2023. 2. 4. 18:03
DTO & VO & Entity DTO(Data Transger Object) ㆍ DTO는 Data Transfer Object의 약자로, 데이터를 전달하기 위한 객체이다. ㆍ 여러 레이어 간 데이터를 주고받을 때 사용할 수 있는데, 주로 View와 Controller 사이에서 활용된다. ㆍ DTO는 getter(), setter() 메서드를 포함한다. 하지만, 이외의 다른 비즈니스 로직은 포함하지 않는다. ㆍ DTO는 어떻게 구현하느냐에 따라 가변 객체로 활용할 수도 있고, 불변 객체로 활용할 수도 있다. 가변 객체로써의 DTO public class PersonDto { private String name; private int age; public String getName() { return na..
-
Spring Boot - JavaMailSender를 활용하여 메일 전송하기Framework & Library/Spring Boot 2023. 1. 31. 16:26
JavaMailSender를 활용하여 메일 전송하기 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-mail' 이메일 발송을 위해 build.gradle 파일에 위에 의존성을 추가한다. Gmail SMTP Server 설정 구글 계정만 있으면 무료로 메일을 전송할 수 있는 Gmail SMTP Server를 이용할 것이다. Gmail SMTP Server를 사용하려면 요구사항에 맞는 설정이 필요하며, 그 내용은 위와 같다. spring: mail: host: smtp.gmail.com port: 587 username: {USER_GMAIL_ADDRESS} password: {USER_GMAIL_PASSWORD} properties:..
-
Spring Boot - HandlerMapping의 동작 방식Framework & Library/Spring Boot 2023. 1. 30. 14:49
HandlerMapping의 동작방식 HandlerMapping의 역할 HandlerMapping은 클라이언트로부터 받은 요청을 처리하기 위해 적절한 handler를 찾아온다는 것을 들어보았을 것이다. 구체적으로 HandlerMapping은 사용자 요청의 URL과 매칭되는 handler를 선택하는 역할을 수행한다. 이번 게시글에서는 HandlerMapping이 어떠한 방식으로 요청에 대한 handler를 찾는지 알아보겠다. Spring MVC의 요청 처리 흐름 HandlerMapping의 역할을 살펴보기 전에, Spring MVC에서 요청이 어떠한 순서로 처리되는지 알아보겠다. 1. 우선, front-controller의 역할을 하는 DispatcherServlet이 요청을 받는다. 2. Dispatch..
-
Spring Boot - Swagger 라이브러리를 활용하여 API 문서 자동화하기Framework & Library/Spring Boot 2023. 1. 19. 17:32
Swagger 라이브러리를 활용하여 API 문서 자동화하기 Swagger란? API 문서는 API 사용 방법을 사용자에게 알려주는 문서이다. API를 잘 사용하기 위해서는 API 문서를 잘 활용해야 한다. API 문서에는 아래와 같은 정보들이 포함된다. 1. 요청 URL 2. 해당 API에 대한 설명 3. 헤더 정보 4. 요청 파라미터 5. 응답 데이터 6. 요청 파라미터와 응답 데이터에 대한 설명 7. API 호출에 대한 응답 샘플 등 위와 같은 정보들을 제공해 주는 문서는 잘 설명되어 있어야 사용자들이 문의 없이 API를 잘 사용할 수 있을 것이다. 또한 MAS에서는 API로 주로 통신하기 때문에, 문서화가 잘 되어 있어야 한다. API 문서는 중요하지만, API 스펙을 하나의 문서로 관리하는 것은 ..
-
Spring Boot - @ModelAttribute의 사용방법 및 주의사항Framework & Library/Spring Boot 2022. 3. 23. 11:44
@ModelAttribute @ModelAttribute란? Spring 프레임워크 환경에서 Request Parameter를 얻기 위해 "@ModelAttribute" 애너테이션을 자주 사용한다. 해당 애너테이션은 파라미터로 넘어온 값을 바인딩하여 개발자가 원하는 객체로 변환해주는 역할을 수행한다. 문제 상황 @Getter public class Person { private String name; private Long age; } 값을 바인딩하기 위한 객체인 Person 클래스는 name과 age 필드 두 가지를 가지고 있다. @RequestMapping(value = "/getPerson.do", method = RequestMethod.GET) public String reqUrl(@ModelA..
-
Spring Boot - JUnit이란?Framework & Library/Spring Boot 2022. 3. 13. 19:59
JUnit TDD란? Test Driven Development의 약자로 테스트 주도 개발이라는 의미를 가진다. 테스트를 먼저 설계 및 구축한 후 테스트를 통과할 수 있는 코드를 짜는 것을 말한다. 코드 작성 후 테스트를 진행하는 지금까지 사용된 일반적인 방식과 다소 차이가 있다. 애자일 개발 방식 중 하나로써, 코드 설계 시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 차이를 줄이고자 하는 방법이다. 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계하기 때문에 보다 적은 의견 충돌을 기대할 수 있다. 테스트 코드를 작성하는 목적 우선, 코드의 안정성을 높일 수 있다. 또한, 기능을 추가하거나 변경하는 과정에서 발생할 수 있는 부작용을 줄일 수 있다. 해당 코드가 ..