분류 전체보기(359)
-
Using the @Bean Annotation
Using the @Bean Annotation@Bean은 메서드 레벨 어노테이션이며 XML 엘리먼트와 직접적으로 대응됩니다. 이 어노테이션은 에서 제공하는 다음과 같은 일부 속성을 지원합니다.init-methoddestroy-methodautowiringname@Bean 애노테이션은 @Configuration 어노테이션이 붙은 클래스나 @Component 어노테이션이 붙은 클래스에서 사용할 수 있습니다. Declaring a Bean빈을 선언하려면 @Bean 어노테이션으로 메서드에 어노테이션을 달 수 있습니다. 이 메서드를 사용하여 메서드의 리턴 값으로 지정된 타입의 ApplicationContext 내에 빈 정의를 등록합니다. 기본적으로 빈 이름은 메서드 이름과 동일합니다. 다음 예제는 @Bean ..
2024.11.14 -
Instantiating the Spring Container by Using AnnotationConfigApplicationContext
다음 섹션에서는 Spring 3.0에 도입된 Spring의 AnnotationConfigApplicationContext를 설명합니다. 이 다재다능한 ApplicationContext 구현은 @Configuration 클래스뿐만 아니라 일반 @Component 클래스와 JSR-330 메타데이터로 어노테이션이 달린 클래스도 입력으로 허용할 수 있습니다.@Configuration 클래스가 입력으로 제공되면 @Configuration 클래스 자체가 빈 정의로 등록되고 클래스 내에서 선언된 모든 @Bean 메서드도 빈 정의로 등록됩니다.@Component 및 JSR-330 클래스가 제공되면 빈 정의로 등록되고 필요한 경우 @Autowired 또는 @Inject와 같은 DI 메타데이터가 해당 클래스 내에서 사용된..
2024.11.14 -
Basic Concepts: @Bean and @Configuration
Spring의 Java 구성 지원에서 핵심 아티팩트는 @Configuration 어노테이션이 달린 클래스와 @Bean 어노테이션이 달린 메서드입니다.@Bean 어노테이션은 메서드가 Spring IoC 컨테이너에서 관리할 새 객체를 인스턴스화하고, 구성하고, 초기화한다는 것을 나타내는 데 사용됩니다. Spring의 XML 구성에 익숙한 사람들에게 @Bean 어노테이션은 엘리먼트와 동일한 역할을 합니다. @Bean 어노테이션이 달린 메서드는 모든 Spring @Component와 함께 사용할 수 있습니다. 그러나 @Configuration 빈과 함께 가장 많이 사용됩니다.클래스에 @Configuration 어노테이션을 달면 해당 클래스의 주요 목적이 빈 정의의 소스라는 것을 나타냅니다. 또한 @Confi..
2024.11.14 -
Java-based Container Configuration
이 섹션에서는 Java 코드에서 애너테이션을 사용하여 Spring 컨테이너를 구성하는 방법을 다룹니다.Section SummaryBasic Concepts: @Bean and @ConfigurationInstantiating the Spring Container by Using AnnotationConfigApplicationContextUsing the @Bean AnnotationUsing the @Configuration annotationComposing Java-based Configurations
2024.11.14 -
Fine-tuning Annotation-based Autowiring with Qualifiers
@Primary는 여러 인스턴스가 있을 때 특정 후보를 자동 주입하는 데 유용합니다. 하지만 선택 과정을 더 세밀하게 제어해야 할 때는 Spring의 @Qualifier 어노테이션을 사용할 수 있습니다. @Qualifier를 사용하면 특정 아규먼트에 qualifier을 연결하여 타입 일치의 범위를 좁히고, 특정 빈이 각 아규먼트에 선택되도록 할 수 있습니다. 가장 단순한 경우, 다음 예제와 같이 간단한 설명적 값일 수 있습니다:Javapublic class MovieRecommender { @Autowired @Qualifier("main") private MovieCatalog movieCatalog; // ...}또한 개별 생성자 아규먼트나 메서드 파라미터에 @Qualifier ..
2024.11.14 -
Annotation-based Container Configuration
Spring은 어노테이션 기반 구성에 대한 포괄적인 지원을 제공하며, 어노테이션을 클래스, 메서드 또는 필드 선언에 사용하여 컴포넌트 클래스 자체의 메타데이터로 작동합니다. 예를 들어, AutowiredAnnotationBeanPostProcessor 예제에서 언급한 것처럼, Spring은 BeanPostProcessor를 어노테이션과 함께 사용하여 핵심 IOC 컨테이너가 특정 어노테이션을 인식할 수 있도록 합니다. 예를 들어, @Autowired 어노테이션은 Autowiring Collaborators에서 설명된 것과 동일한 기능을 제공하지만, 더 세밀한 제어와 더 넓은 적용 범위를 가집니다. 또한, Spring은 @PostConstruct와 @PreDestroy와 같은 JSR-250 어노테이션에 대한..
2024.11.14