본문 바로가기

Dev/Spring Framework14

『Spring MVC』 메시지, 국제화 Spring MVC에서 메시지 관리와 국제화(i18n)를 적용하는 방법에 대해 알아보자.  메시지 관리의 필요성개발 과정에서 UI에 표시되는 텍스트를 변경해야 하는 상황이 자주 발생한다.  예를 들어, "상품명"이라는 레이블을 "상품이름"으로 변경해야 한다고 가정하자. 이때 여러 곳에서 하드 코딩된 텍스트를 일일이 수정하는 것은 비효율적이다. 이러한 문제를 해결하기 위해 메시지 관리 기능을 사용하여 모든 텍스트를 한 곳에서 관리할 수 있다.  메시지 파일 생성 및 적용메시지 파일 생성메시지 관리를 위해 messages.properties 파일을 생성하고 키-값 쌍으로 텍스트를 관리한다. 국제화를 위한 메시지 파일 생성다국어 지원을 위해 각 언어별로 메시지 파일을 관리한다.  Spring에서 메시지 소스 .. 2024. 11. 26.
『Spring Boot』 Spring Boot Annotation 정리 스프링 부트를 사용하여 RESTful API를 개발할 때 주로 사용하는 어노테이션을 알아보자. 특히 JSON 형식의 데이터를 처리할 때 유용한 애노테이션들을 중심으로 살펴보자. 어노테이션을 사용할 때에도 내부 동작 원리나 해당 어노테이션을 사용하게 된 배경을 아는 것 또한 중요하지만 Deep Dive 하기 전에 40개 정도만 가볍게 한번 훑어보자.  @RestController @Controller와 @ResponseBody를 결합한 애노테이션으로 컨트롤러의 메서드들이 JSON 형식의 데이터를 반환하도록 한다.   @ResponseBody 메서드의 반환 값을 HTTP 응답 본문으로 변환한다. @RestController에서는 기본적으로 적용된다.  @RequestMapping 클래스나 메서드 수준에.. 2024. 11. 25.
『Spring Core』 Bean Scopes Bean Scope 스프링 프레임워크에서 빈 스코프란 빈이 생성되고 유지되는 범위를 의미한다. 빈이 얼마나 오래, 어떤 범위에서 유지될지를 결정한다. 스프링은 다음과 같은 빈 스코프를 제공한다.  싱글톤 (Singleton)기본 스코프로, 스프링 컨테이너 시작부터 종료까지 빈이 유지된다. 프로토타입 (Prototype)요청 시마다 새로운 빈 인스턴스를 생성하며, 생성과 의존관계 주입까지만 컨테이너가 관리한다. 웹 관련 스코프request: HTTP 요청이 시작되고 끝날 때까지 빈이 유지된다.session: 세션이 활성화되는 동안 빈이 유지된다.application: 서블릿 컨텍스트와 동일한 범위로 빈이 유지된다.   Singleton Scope 싱글톤 스코프는 스프링의 기본 스코프이므로 별도의 설정 없이.. 2024. 11. 19.
『Spring Core』 Bean LifeCycle Spring에서 왜 Bean 등록이 필요할까?Spring에서 Bean은 Spring의 IoC(Inversion of Control) 컨테이너에 의해 관리된다. 빈을 등록함으로써 Spring Container는 빈의 생명주기를 관리하고 필요한 곳에 의존성 주입(DI)을 통해 제공할 수 있다.  쉽게 생각해서 의존성 주입과 같은 기술을 편리하게 사용하기 위해서는 객체를 Spring Bean으로 등록하여 Spring Container에서 관리하도록 위임해야 한다.  Spring Bean LifeCycleSpring Container 생성 -> Bean 생성 -> 의존성 주입 -> 초기화 콜백 -> Bean 사용 -> 소멸 전 Callback -> Spring 종료  Bean LifeCycle Callback .. 2024. 11. 7.
『Spring Core』 DI (Dependency Injection) DI (Dependency Injection)의존성 주입은 객체 간의 의존성을 설정하는 방법이다. Spring 컨테이너에 여러 컴포넌트를 빈(Bean)으로 등록하여 객체의 생명주기 관리를 위임하고 빈으로 등록된 객체를 주입받아서 사용할 수 있다.   의존성 주입 방법의존성 주입에는 다음과 같은 방법들이 있다.생성자 주입 (Constructor Injection)세터 주입 (Setter Injection)필드 주입 (Field Injection)일반 메서드 주입 (Method Injection)이 중에서 생성자 주입을 가장 많이 사용하며 Spring에서도 공식적으로 권장하는 방법이다.  생성자 주입생성자를 통해 의존성을 주입하는 방법이다. 생성자 호출 시점에 딱 한 번만 호출되며 이후에는 변경이 불가능하다.. 2024. 11. 7.