본문 바로가기

스프링5

[MVC 패턴] 메시지, 국제화 메시지 다양한 메시지를 한 곳에서 관리하도록 하는 기능을 의미한다. 사용 예시 messages.properties라는 메시지 관리용 파일을 생성 item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량 각 HTML에서 다음과 같이 해당 데이터를 key 값으로 불러서 사용 국제화 messages.properties를 나라별로 별도로 관리하면 서비스를 국제화 할 수 있다. 사용 예시 messages_en.properties item=Item item.id=Item ID item.itemName=Item Name item.price=price item.quantity=quantity messages_ko.properties item=상품 i.. 2023. 8. 22.
[MVC 패턴] 타임리프 (Thymeleaf) - 스프링 통합과 폼 스프링 통합으로 추가되는 기능들 - 스프링의 SpringEL 문법 통합 - ${@myBean.doSomething()} 스프링 빈 호출 지원 - 편리한 폼 관리를 위한 추가 속성 th:object (기능 강화, 폼 커맨드 객체 선택) th:field, th:errors, th:errorclass - 폼 컴포넌트 기능 checkbox, radio button, List 등을 편리하게 사용할 수 있는 기능 지원 - 스프링 메시지, 국제화 기능의 편리한 통합 - 스프링의 검증, 오류 처리 통합 - 스프링의 변환 서비스 통합 (ConversionSerivce) 입력 폼 처리 - th:object : 커맨드 객체를 지정한다 - *{. . .}: 선택 변수 식이라고 한다. th:object에서 선택한 객체에 접근한.. 2023. 8. 18.
[MVC 패턴] 타임리프 (Thymeleaf) 타임리프 (Thymeleaf) 타임리프는 컨트롤러가 전달하는 데이터를 이용해 동적으로 화면을 만들어주는 역할을 하는 뷰 템플릿 엔진이다. 타임리프 특징 서버 사이드 HTML 렌더링 (SSR) - 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링하는 용도로 사용된다. 내츄럴 템플릿 - 타임리프는 순수 HTML을 최대한 유지하려는 특징이 있다. - 순수 HTML을 그대로 유지하면서 뷰 템플릿도 사용할 수 있는 타임리프의 특징을 의미한다. 스프링 통합 지원 - 타임리프는 스프링과 자연스럽게 통합되고, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다. 타임리프 기본 기능 타임리프 사용 선언 기본 표현식 간단한 표현: 변수 표현식: ${. . .} 선택 변수 표현식: *{. . .} 메시지 표현식: .. 2023. 8. 16.
[MVC 패턴] 서블릿 (Servlet) @ServletComponentScan @SpringBootApplication public class ServletApplication{ public static void main(String[] args){ SpringApplication.run(ServletApplication.class, args); } } 스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원한다. package hello.servlet.basic; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import jav.. 2023. 8. 8.
[Spring 기본] 스프링 컨테이너/스프링 빈 (Spring Container/Bean) 스프링 컨테이너: 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 스프링 컨테이너에 적용된다. 개발자는 new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸하지만, 스프링 컨테이너를 사용하면 해당 역할을 대신해 준다. 즉, 제어 흐름을 외부에서 관리하고, 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈: 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다. 스프링 컨테이너 XML 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있음 ex) ApplicationContext, BeanFactory ● 스프링 컨테이너.. 2023. 8. 2.