Spring 3 JavaConfig @Importの例

通常は、//spring/load-multiple-spring-bean-configuration-file/[大規模なSpring XML Beanファイルを複数の小さなファイルにグループ化してグループ化することで、より保守性とモジュール性が向上します。例えば、

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <import resource="config/customer.xml"/>
        <import resource="config/scheduler.xml"/>

</beans>

Spring3 JavaConfigでは、同等の機能は @ Import です。

package com.mkyong.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

@インポートの例

JavaConfig @ Import の使い方の完全な例を参照してください。

1.ディレクトリ構造

この例のディレクトリ構造。

この例のディレクトリ構造、title = "spring-javaconfig-import"、width = 516、height = 377

2. Spring Beans

2つのシンプルなSpring Bean。

File:CustomerBo.java

package com.mkyong.core;

public class CustomerBo {

    public void printMsg(String msg) {

        System.out.println("CustomerBo : " + msg);
    }

}

File:SchedulerBo.java

package com.mkyong.core;

public class SchedulerBo {

    public void printMsg(String msg) {

        System.out.println("SchedulerBo : " + msg);
    }

}

3. @設定例

さて、JavaConfig @ Configuration を使用して上記のBeanを宣言してください。

File:CustomerConfig.java

package com.mkyong.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.mkyong.core.CustomerBo;

@Configuration
public class CustomerConfig {

    @Bean(name="customer")
    public CustomerBo customerBo(){

        return new CustomerBo();

    }
}

File:SchedulerConfig.java

package com.mkyong.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.mkyong.core.SchedulerBo;

@Configuration
public class SchedulerConfig {

    @Bean(name="scheduler")
    public SchedulerBo suchedulerBo(){

        return new SchedulerBo();

    }

}

4. @mportの例

複数の設定ファイルをロードするには、 @ Import を使用します。

File:AppConfig.java

package com.mkyong.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

5.それを実行する

メインの構成ファイルをロードし、テストします。

package com.mkyong.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.mkyong.config.AppConfig;

public class App {
    public static void main(String[]args) {

        ApplicationContext context = new AnnotationConfigApplicationContext(
                AppConfig.class);

        CustomerBo customer = (CustomerBo) context.getBean("customer");
        customer.printMsg("Hello 1");

        SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler");
        scheduler.printMsg("Hello 2");

    }
}

出力

CustomerBo : Hello 1
SchedulerBo : Hello 2

ソースコードをダウンロードする

ダウンロードする - リンク://wp-content/uploads/2011/06/Spring3-JavaConfig-Import-Example.zip[Spring3-JavaConfig-Import-Example.zip](7 KB)

参考文献

  1. リンク://spring3/spring-3-javaconfig-example/[Spring3 @Configuration

例]。 link://spring/load-multiple-spring-bean-configuration-file/[Spring XML

インポートの例]