<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.egovframe.go.kr/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.egovframe.go.kr/wiki/feed.php">
        <title>eGovFrame egovframework:rte4.1:fdl:ioc_container</title>
        <description></description>
        <link>http://www.egovframe.go.kr/wiki/</link>
        <image rdf:resource="http://www.egovframe.go.kr/wiki/lib/images/favicon.ico" />
       <dc:date>2025-06-16T17:26:57+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:annotation-based_configuration&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:basics&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_definition_inheritance&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_scope&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:classpath_scanning_for_managed_components&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:container_extension_points&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:customizing_the_nature_of_a_bean&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:dependencies&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:environment_abstraction&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:generic&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:inversion_of_control&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:java-based_configuration&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:jsr_330_standard_annotations&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:the_applicationcontext&amp;rev=1703136093&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.egovframe.go.kr/wiki/lib/images/favicon.ico">
        <title>eGovFrame</title>
        <link>http://www.egovframe.go.kr/wiki/</link>
        <url>http://www.egovframe.go.kr/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:annotation-based_configuration&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:annotation-based_configuration</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:annotation-based_configuration&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Spring Framework는 Spring의 종속성 삽입을 위해 annotation을 사용할 수 있다. 본질적으호 @Autowired annotation은 자동 엮음과 같은 기능을 제공하지만, 좀 더 세밀한 제어와 넓은 사용성을 제공한다. Spring Framework는 @Resource, @PostConstruct, @PreDestroy 등의 JSR-250 annotation도 지원한다. 물론 최소 Java 5(Tiger)를 사용하는 경우 사용 가능하다. 이들 annotation을 사용하기 위해서는 Spring container에 특정 BeanPostProcessors를 등록해야만 한다. 항상 그렇듯이, 이들 BeanPostProcessors가 개별적인 bean 정의로 등록될 수도 있지만, 'context' namespace를 사용하여 등록할 수도 있다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:basics&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:basics</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:basics&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Spring Framework에서 Bean은 어플리케이션을 구성하고, IoC container에 의해 관리되어 지는 객체를 의미한다.

Bean은 간단히 말해 IoC container에 의해 객체화되고, 조립되고, 또는 관리되는 객체이다. Bean들과 Bean들간의 종속성은 container가 사용하는 설정 메타데이터에 의해 결정된다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_definition_inheritance&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:bean_definition_inheritance</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_definition_inheritance&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Bean 정의는 많은 양의 설정 정보를 포함하고 있다. 자식 bean 정의는 부모 bean 정의로부터 설정 정보를 상속받은 bean 정의를 의미한다. 자식 bean 정의는 필요에 따라 부모 bean 정의로부터 상속받은 설정 정보를 덮어쓰거나 추가할 수 있다. XML 기반 설정에서는 자식 bean 정의에 'parent' attribute를 사용하여 상속관계를 정의할 수 있다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_scope&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:bean_scope</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:bean_scope&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Bean 정의는 실제 bean 객체를 생성하는 방식을 정의하는 것이다. Class와 마찬가지로 하나의 Bean 정의에 해당하는 다수의 객체가 생성될 수 있다.

Bean 정의를 통해 객체에 다양한 종속성 및 설정값을 주입할 수 있을 뿐 아니라, 객체의 범위(scope)를 정의할 수 있다. Spring Framework는 6가지 scope을 제공한다. (그 중 4가지는 Web-aware ApplicationContext를 사용할 때 이용할 수 있다).</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:classpath_scanning_for_managed_components&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:classpath_scanning_for_managed_components</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:classpath_scanning_for_managed_components&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

본 장의 앞선 대부분의 예제들은 Spring container 안에서 BeanDefinition을 생성하기 위한 설정 메타데이터를 명기하기 위해서 XML을 사용해왔다. 이전 section 은 source-level annotation을 사용하여 많은 양의 설정 메타데이터를 제공할 수 있음을 보였다. 이들 예제에서도 어쨌든, “base” bean 정의가 XML 파일 안에 명시적으로 정의되었다. 이번 section은 classpath를 검색하고, filter를 통해 검사함으로써, 대상 컴퍼넌트(candidate component)를 검출하는 방법을 소개한다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:container_extension_points&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:container_extension_points</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:container_extension_points&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Spring Framework의 IoC 컴포넌트는 확장을 고려하여 설계되었다. 일반적으로 어플리케이션 개발자가 다양한 BeanFactory 또는 ApplicationContext 구현 클래스를 상속받을 필요는 없다. Spring IoC container는 특별한 통합 interface의 구현체를 삽입하여 확장할 수 있다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:customizing_the_nature_of_a_bean&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:customizing_the_nature_of_a_bean</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:customizing_the_nature_of_a_bean&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

Lifecycle callbacks

Spring Framework는 container 내부의 bean의 행동을 변화시길 수 있는 다양한 callback interface를 제공한다. 

객체화 callbacks(Initialization callbacks)

org.springframework.beans.factory.InitializingBean interface를 구현하면 bean에 필요한 모든 property를 설정한 후, 초기화 작업을 수행한다. InitializingBean interface는 다음 메소드를 명시하고 있다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:dependencies&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:dependencies</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:dependencies&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

종속성 삽입(Injecting dependencies)

종속성 삽입(Dependency Injection(DI))의 기본적인 원칙은 객체는 단지 생성자나 set 메소드를 통해서만 종속성(필요로 하는 객체)를 정의한다는 것이다. 그러면 container는 bean 객체를 생성할 때, bean이 정의한 종속성을 삽입한다. 이는 Bean이 스스로 필요한 객체를 생성하거나 찾는 등의 제어를 가지는 것과는 반대의 개념으로 Inversion of Control(IoC)라고 부른다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:environment_abstraction&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:environment_abstraction</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:environment_abstraction&amp;rev=1703136093&amp;do=diff</link>
        <description>개요


Environment Abstraction은 환경에 대한 추상화로 Spring에서 제공하는 Environment 인터페이스를 이용한다.

Environment 인터페이스는 애플리케이션 환경의 두 가지 주요 측면을 모델링하는 컨테이너에 통합된 추상화로, profiles 나 properties처럼 프로그램의 환경 변수나 Applcation의 프로필을 관리할 때 사용하게 된다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:generic&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:generic</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:generic&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

Spring4 Generic은 Autowired 및 Qualifired를 보완하여 Generic을 지원합니다.

설명

기존 Autowire 및 Qualifier의 기능에 대하여 확장하여 Spring4에서 추가로 지원하는 Generic 타입의 Autowire기능에 대하여 알아본다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:inversion_of_control&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:inversion_of_control</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:inversion_of_control&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

본 문서는 Martin Fowler가 저술한 Inversion of Control 문서를 번역 및 일부 의역한 것이다.

설명

Inversion of Control(IoC)는 당신이 프레임워크를 확장할 때 마주치게 되는 일반적인 사상이다. 또한, 프레임워크를 정의하는 특징이기도 하다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:java-based_configuration&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:java-based_configuration</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:java-based_configuration&amp;rev=1703136093&amp;do=diff</link>
        <description>개요


Java 코드에서 주석을 사용하여 스프링 컨테이너를 구성하는 방법에 대해 알아본다.

설명

기본 개념 : @Bean, @Configuration


스프링의 자바 기반 설정에서는 @Configuration 어노테이션 클래스와 @Bean 어노테이션 메소드를 지원한다.

@Bean 어노테이션은 Spring IoC 컨테이너가 관리할 새로운 객체를 인스턴스화하고, 초기화하는데 사용되며, Spring의 XML 설정에서의 &lt;bean/&gt;과 같은 역할을 한다.

@Bean 어노테이션은 붙인 메소드는 스프링 @Component와 함께 사용할 수 있지만, 대체로 @Configuration Bean과 사용한다.

@Configuration 어노테이션은 해당 클래스의 목적이 Bean 설정을 위한 소스임을 나타내며, @Configuration 클래스는 같은 클래스 안에 있는 @Bean 메소드들끼리 서로를 호출하여
Bean 사이의 의존성을 정의할 수 있게 한다.

@Configuration 클래스…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:jsr_330_standard_annotations&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:jsr_330_standard_annotations</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:jsr_330_standard_annotations&amp;rev=1703136093&amp;do=diff</link>
        <description>개요


스프링 3.0부터 JSR-330 표준 어노테이션(의존성 주입)의 지원한다. 이 어노테이션들은 스프링 어노테이션들과 같은 방법으로 스캔된다. 이 어노테이션들을 사용하기 위해서는 클래스패스에 관련 jar 파일들을 가지고 있어야 한다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:the_applicationcontext&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte4.1:fdl:ioc_container:the_applicationcontext</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:ioc_container:the_applicationcontext&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

설명

ApplicationContext는 BeanFactory를 확장한 것으로 BeanFactory의 기능 외에 아래와 같은 기능을 제공한다.

	*  MessageSource : i18n-sytle로 메시지를 access할 수 있도록 지원한다.
	*  Access to resources : URL, File 등과 같은 자원을 쉽게 access할 수 있도록 지원하다.
	*  Event propagation : ApplicationListener interface를 구현한 bean에게 Event를 전달한다.
	*  Loading of multiple (hierarchical) contexts : 계층 구조의 context를 지원함으로써, 어플리케이션의 웹 레이어 등과 같은 특정 레이어에만 집중적인 context를 작성할 수 있다.…</description>
    </item>
</rdf:RDF>
