Spring Framework(140)
-
Annotated Controllers[1]
[https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-controller.html] Spring MVC는 @Controller와 @RestController 컴포넌트가 요청 매핑, 요청 입력, 예외 처리 등을 애노테이션을 통해 표현할 수 있는 애노테이션 기반 프로그래밍 모델을 제공합니다. 애노테이션 컨트롤러는 유연한 메서드 시그니처를 가지며, 기본 클래스를 확장하거나 특정 인터페이스를 구현할 필요가 없습니다. 다음은 애노테이션으로 정의된 컨트롤러의 예입니다:@Controllerpublic class HelloController { @GetMapping("/hello") public String handle(Model model) ..
2024.10.06 -
Dependency Injection
일반적인 엔터프라이즈 애플리케이션은 단일 객체(또는 Spring 용어로 빈)로 구성되지 않습니다. 가장 단순한 애플리케이션조차도 최종 사용자가 이 애플리케이션을 일관된 애플리케이션으로 인식할 수 있도록 하기 위해 함께 작동하는 몇 가지 객체가 있습니다. 다음 섹션에서는 독립적인 여러 빈 정의를 정의하는 것에서 시작하여 객체들이 협력하여 목표를 달성하는 완전히 구현된 애플리케이션으로 나아가는 방법에 대해 설명합니다. Dependency Injection의존성 주입(DI)은 객체들이 그들의 의존성(즉, 그들이 함께 작업하는 다른 객체들)을 오직 컨스트럭터 아규먼트, 팩토리 메소드로의 아규먼트, 또는 객체가 생성되거나 팩토리 메소드에서 리턴된 후에 객체 인스턴스에 설정된 속성을 통해서만 정의하는 과정입니다. ..
2024.06.11 -
Bean Overview
Bean OverviewSpring IoC 컨테이너는 하나 이상의 빈을 관리합니다. 이러한 빈은 컨테이너에 제공하는 구성 메타데이터(예: XML 정의의 형태)로 생성됩니다.컨테이너 내부에서 이러한 빈 정의는 BeanDefinition 객체로 표현되며, 이 객체는 다음 메타데이터(기타 정보 포함)를 포함합니다:A package-qualified class name: 일반적으로 정의된 빈의 실제 구현 클래스.빈의 동작 구성을 나타내는 엘리먼트로, 빈이 컨테이너에서 어떻게 동작해야 하는지를 명시합니다(scope, lifecycle callbacks 등).빈이 작업을 수행하는 데 필요한 다른 빈에 대한 참조입니다. 이러한 참조는 협력자 또는 dependencies라고도 합니다.새로 생성된 객체에 설정할 기타 ..
2024.06.11 -
Engine
Apache Tomcat에서 Engine은 톰캣의 내부에서 중요한 역할을 하는 컴포넌트로, 톰캣의 Service와 연관된 여러 가상 호스트(Host)에 대한 요청을 처리하는 서블릿 컨테이너입니다. 클라이언트의 요청이 Connector를 통해 수신되면, 그 요청은 Engine으로 전달되어 적절한 웹 애플리케이션으로 라우팅되고, 실제로 서블릿과 JSP 페이지가 처리되는 과정이 시작됩니다.아래는 Engine 컴포넌트의 상세한 설명입니다.1. Engine의 주요 역할Engine은 Service의 핵심 컴포넌트로서, 여러 Connector에서 전달된 요청을 처리합니다. 엔진은 요청을 적절한 가상 호스트로 라우팅하고, 각 가상 호스트는 해당하는 웹 애플리케이션을 통해 클라이언트에게 응답을 생성합니다.요청 라우팅: ..
2024.05.31 -
context root
Tomcat에서 컨텍스트 루트(context root)란 웹 애플리케이션이 서버에서 제공되는 URL 경로의 시작점을 말합니다. 즉, 특정 웹 애플리케이션이 웹 서버의 URL 공간에서 차지하는 위치입니다. 웹 애플리케이션에 접근하려면 클라이언트는 그 애플리케이션의 컨텍스트 루트를 포함한 URL을 사용해야 합니다.컨텍스트 루트의 역할Tomcat은 여러 개의 웹 애플리케이션을 실행할 수 있는 서버입니다. 각 웹 애플리케이션은 고유한 컨텍스트 경로를 가지며, 이는 각 애플리케이션에 고유한 URL 경로를 할당하는 방식입니다. 예를 들어, http://localhost:8080/myapp에서 myapp이 바로 해당 애플리케이션의 컨텍스트 루트입니다. 이 경로 뒤에 추가로 붙는 경로는 웹 애플리케이션 내의 파일이나 ..
2024.04.26 -
Using @Autowired
Note: JSR 330의 @Inject 어노테이션은 이 섹션에 포함된 예제에서 Spring의 @Autowired 어노테이션을 대신하여 사용할 수 있습니다. 자세한 내용은 여기 를 참조하세요. 다음 예제에서 보여주는 것처럼 @Autowired 어노테이션을 생성자에 적용할 수 있습니다:public class MovieRecommender { private final CustomerPreferenceDao customerPreferenceDao; @Autowired public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) { this.customerPreferenceDao = customerPreferenceD..
2023.12.10