GitHub

https://github.com/Choidongjun0830

Spring 24

[Spring] Spring Container

Spring Container Spring Beans와 그들의 생애주기를 관리하는 것. 우리가 여러개의 자바 클래스를 만들고 우리는 Configuration 파일도 만든다. 그리고 input으로 Spring Container에 넘긴다. Bean Factory : Basic Spring Container (인터페이스) Bean Factory를 직접 사용하는 경우는 거의 없으므로 일반적으로 ApplicationContext를 스프링 컨테이너라고 한다. 스프링 컨테이너의 최상위 인터페이스 스프링 빈을 관리하고 조회하는 역할을 담당한다. getBean()을 제공한다 ApplicationContext : Advanced Spring Container with enterprise-specific features (..

Spring 2023.08.29

[Spring] Spring Bean

빈(Bean) 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다. 빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. @Bean 어노테이션을 통해 메서드로부터 반환된 객체를 스프링 컨테이너에 등록한다. 스프링컨테이너에는 메서드 이름이 자동으로 등록된다. 이렇게 등록된 객체를 스프링 빈이라 한다. 물론 메서드가 등록되는 이름을 바꿀 수 있다. 빈은 클래스의 등록 정보, Getter/Setter 메서드를 포함하며, 컨테이너에 사용되는 설정 메타데이터로 생성된다. 설정 메타데이터 : XML 또는 자바 어노테이션, 자바 코드로 표현하며, 컨테이너..

Spring 2023.08.28

[Spring] Dependency Injection

의존관계 주입 외부에서 두 객체 간의 관계(의존성)를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 필드 주입 @Component class YourBusinessClass { @Autowired Dependency1 dependency1; @Autowired Dependency2 dependency2; public String toString() { return "Using " + dependency1 + " and " + dependency2; } } @Component class Dependency1{ } @Component class Dependency2..

Spring 2023.08.21

[Spring]@Primary vs @Qualifier

자동 의존관계 주입시 여러개의 빈을 찾으면 오류가 발생한다. 스프링은 여러개의 빈들 중 어떤 것을 가져올지의 기준이 없기 때문이다. @Primary: Bean은 여러개의 후보들이 Qualified일 때 우선권이 주어다. 5개의 Bean이 주어지고, 만약 그것들 중 하나가 Primary가 주어지면, 그것이 우선이 된다. @Qualifier: Auto-wired가 되는 특정한 Bean을 설정하는 것이다. Bean의 이름을 Qualifier로 사용할 수 있다. Qualifier가 Primary보다 더 높은 우선 순위를 갖고 있다.

Spring 2023.08.21
728x90