1HOON
논리적 코딩
1HOON
전체 방문자
오늘
어제
  • HOME (187)
    • ☕️ JAVA (28)
      • WhiteShip Java LIVE Study (6)
      • Effective JAVA (10)
    • 🔮 KOTLIN (4)
    • 🌱 SPRING (51)
      • 스프링 인 액션 (22)
      • JPA (18)
    • ☕️ JAVASCRIPT (6)
    • 📃 DATABASE (40)
      • ORACLE (37)
      • MSSQL (2)
    • 🐧 LINUX (4)
    • 🐳 DOCKER (5)
    • 🐙 KUBERNETES (4)
    • 🏗️ ARCHITECTURE (8)
    • 📦 ETC (27)
      • TOY PROJECT (5)
      • RECRUIT (1)
      • 그냥 쓰고 싶어서요 (14)
      • TIL (1)
    • 🤿 DEEP DIVE (1)
    • 🚽 Deprecated (9)
      • PYTHON (3)
      • AWS (2)
      • HTTP 완벽가이드 (3)
      • WEB (1)

블로그 메뉴

  • 홈
  • 방명록
  • 관리

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
1HOON

논리적 코딩

조건부 빈
🌱 SPRING/스프링 인 액션

조건부 빈

2018. 5. 21. 17:00

조건부 빈

스프링 4.0부터 @Conditional 어노테이션으로 조건이 참일 때만 빈이 생성시킬 수 있다.


1
2
3
4
5
6
@Bean
@Conditional(MagicExistCondition.class)
public MagicBean magicBean () 
{
    return new MagicBean();
}
Colored by Color Scripter
cs


위 소스에서는 환경 프로퍼티 중 MagicExistCondition.class 가 true를 반환 할 때 MagicBean이 생성된다.


1
2
3
4
public interface Condition
{
    boolean matches (ConditionContext ctxt, AnnotatedTypeMetadata metadata);
}
Colored by Color Scripter
cs


@Conditional에 지정된 클래스는 Condition 인터페이스를 구현하며, matches() 반환값이 true일 때 @Conditional로 어노테이션된 빈이 생성된다.


1
2
3
4
5
6
7
8
public class MagicExistCondition implements Condition
{
    public boolean matches (ConditionContext ctxt, AnnotatedTypeMetadata metadata)
    {
        Environment env = context.getEnvironment();
        return env.containsProperty("magic");  ← magic 프로퍼티 체크
    }
}
Colored by Color Scripter
cs


위에서부터 종합해보면, MagicBean은 MagicExistCondition 클래스를 통해 magic 프로퍼티가 존재할 때 빈 생성이 된다.


 


 이 포스트는 스프링 인 액션을 읽고 개인적으로 필요하다고 생각되는 내용을 정리한 포스트입니다.

일부 내용, 소스코드는 스프링 인 액션의 내용일 수 있습니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'🌱 SPRING > 스프링 인 액션' 카테고리의 다른 글

포인트 커트를 이용한 조인 포인트 선택  (0) 2018.05.26
AOP란?  (0) 2018.05.24
XML로 빈 와이어링하기  (0) 2018.05.07
자바로 빈 와이어링하기  (2) 2018.05.07
빈 와이어링 - 자동 와이어링  (0) 2018.05.07
    '🌱 SPRING/스프링 인 액션' 카테고리의 다른 글
    • 포인트 커트를 이용한 조인 포인트 선택
    • AOP란?
    • XML로 빈 와이어링하기
    • 자바로 빈 와이어링하기
    1HOON
    1HOON

    티스토리툴바