분류 전체보기86 [SPRING] MessageSource을 활용한 메시지관리 상황마다 사용자에게 전달해야 하는 메시지가 있다. 알림 메시지, 경고 메시지 등등 이런 메세지를 각각의 로직에 직접 입력하여 사용할 수 있지만 메시지를 한 곳에서 관리한다면 추후 수정이 필요할 때 일괄로 변경할 수 있는 등의 장점이있다. Spring은 메세지를 일괄로 관리할 수 있는 기능을 제공하는데 이러한 기능을 제공하는데 바로 MessageSource이다. 개인적인 학습의 결과물을 정리합니다. Project Metadata Project: Gradle Project Language: Java 11 Framework : Spring Boot: 2.5.x MessageSource등록 스프링은 MessageSource의 구현체를 직접 등록하지 않으면 "messages"라는 이름으로 기본 등록된다. 기본 등.. 2022. 6. 28. [Thymeleaf] 주요 기능 정리 - 출력 그동안 뷰 템플릿으로 jsp만 사용했었는데 스프링부트를 학습하며 Thymeleaf의 존재를 알게 되었다. 스프링부트는 JSP를 지양하고 다양한 뷰 템플릿 중 Thymeleaf의 사용을 지향한다고 한다. 그렇기에 Thymeleaf를 사용하면 스프링과 자연스럽게 통합될 수 있다. Thymeleaf의 주요 기능중 출력 부분에 대해 학습한 내용을 정리하며 다시 한번 복습하자! 주요 특징 타임리프는 기본적으로 HTML 태그의 속성에 기능을 정의해서 동작한다. JSP의 경우 서버를 통해 랜더링 작업을 거치고 정상적인 결과를 볼 수 있지만 타임리프로 작성된 파일은 그대로 열어도 HTML 결과를 확인할 수 있다. 타임리프 소스가 적용된 동적인 부분은 확인하지 못하겠지만 HTML 마크업 결과가 어떻게 되는지 확인 할 수.. 2022. 6. 18. [JAVA] Builder 패턴 주로 자연스럽게 자바 빈의 형태로 만들어 객체를 만들어 사용했었는데 무분별한 setter사용과 객체 일관성이 깨지는 여러 문제들로 인하여 유지보수성의 저하와 로직의 파악이 힘들어지는 문제 등을 많이 경험하였다. 사용할 때는 편하게 사용하겠지만 무분별한 사용은 문제를 야기할 수 있기 때문에 다른 패턴들에 대해 학습한 결과를 Builder 패턴을 중심으로 정리합니다. 객체 생성의 주요 방법 점층적 생성자 패턴 자바 빈즈 패턴 빌더 패턴 점층적 생성자 패턴 생성자에서 필수 필드값과 선택적 필드 값을 활용하여 모든 맴버 변수를 포함하도록 점층적인 여러 개의 생성자를 생성하는 패턴 public class Body { // 필수 맴버변수 private final int brain; private final int .. 2022. 6. 18. [JAVA] JAVA 8 interface의 변경사항 자바 8 버전이 나온 지 오래됐지만 8 버전에서 생긴 interface의 변경사항에 대해 학습한 내용을 정리합니다. default method 인터페이스의 메소드는 선언만 가능하고 구현은 불가능했지만 default 키워드를 추가하면 인터페이스 내부에서도 구현된 메소드를 선언할 수 있습니다. public interface Calculator { public int sum(int x, int y); public int min(int x, int y); // default method public default int fac(int x, int y) { return x * y; } } default method는 상속하는 클래스에서 재정의가 가능하지만 하지 않아도 사용할 수 있으며 override가 강제되지 .. 2022. 6. 10. 이전 1 ··· 6 7 8 9 10 11 12 ··· 22 다음