springframework 4

[SpringFramework] PostConstruct & PreDestroy, CDI Jakart Contexts & Dependency Injection

PostConstruct & PreDestroy, CDI Jakart Contexts & Dependency Injection1. PostConstruct 및 PreDestroyPostConstruct초기화를 수행하기 위한 의존성 주입이 완료된 후 실행해야 하는 메서드에서 사용합니다,클래스를 사용하기 전에 호출되어야 합니다.(다른 Bean이 이 Bean을 사용할 수 있게 되기 전에 이 메서드가 호출됩니다)이 때 애플리케이션이 실행되고 Bean이 로드됩니다.PreDestroy컨테이너에서 인스턴스를 삭제하는 과정 중에 있음을 알려주는 콜백 알림으로,보유하고 있던 리소스를 해제하는 데 일반적으로 사용됩니다. 애플리케이션이 종료되기 전에, 컨텍스트에서 Bean이 삭제되기 전에 특정 작업을 하고자 할 때 사용합니..

Java 2023.12.18

[SpringFramework] Lazy Initialization vs. Eager Initialization, Bean Scopes

Lazy Initialization vs. Eager Initialization, Bean Scopes1. 지연 초기화(Lazy)와 즉시 초기화(Eager)지연 초기화는, Spring Bean이 사용직전에 초기화되도록 하는 것이고즉시 초기화는, Application이 시작할 때 Spring Bean이 초기화되도록 하는 것입니다.(Spring은 기본적으로 즉시 초기화로 설정되어 있습니다) 즉시 초기화를 사용하면 Spring 구성에 오류가 있을 경우,애플리케이션이 시작할 때 오류를 바로 확인할 수 있습니다. 지연 초기화는@Component와 @Bean이 사용되는 거의 모든 곳에서 사용할 수 있습니다.지연-해결 프록시가 실제 의존성 대신 주입됩니다.그리고 @Configuration 클래스에서도 사용할 수 있습..

Java 2023.12.17

[SpringFramework] Bean 우선순위 부여(@Primary, @Qualifier)

Bean에 우선순위 부여하기context.getBean(Person.class)위 코드를 통해 Bean으로 만들어진 Person 클래스를 호출할 수 있었습니다.(Person를 반환 유형으로 가진 클래스)그러나 Person를 반환하는 클래스가 여럿이라면 오류가 발생합니다.(조건에 일치하는 후보가 여러 개인 시나리오에서 예외를 출력합니다)Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.ride.learnspringframework.Person' available: expected single matching bean but found..

Java 2023.11.29

[SpringFramework] Spring Bean 생성, 확인, 의존성 주입

Spring이 Bean을 자동으로 생성하고 관리하도록 하면,프로젝트의 규모가 크더라도 손쉽게 관리할 수 있습니다.Java Spring Bean을 만들고 자동 연결하기SpringFramework를 활용하기 위한 설정을 하겠습니다.1. SpringContext 실행하기JVM 내에 SpringContext를 만들기 위해AnnotationConfig 클래스를 사용하여 AnnotationConfigApplicationContext를 만들기 위해설정(@Configuration) 클래스를 사용합니다.(@Configuration클래스로 SpringContext를 실행합니다)public class AppHelloWorldSpring { public static void main(String[] args) { va..

Java 2023.11.26
728x90
반응형