Spring 3 JavaConfig @Importの例

Spring 3 JavaConfig @Importの例

通常、split a large Spring XML bean filesを複数の小さなファイルに分割し、モジュールまたはカテゴリごとにグループ化して、保守性とモジュール性を高めます。 例えば、



    
        

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

package com.example.config;

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

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

}

@Importの例

JavaConfig@Importの使用例をご覧ください。

1. ディレクトリ構造

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

directory structure of this example

2. 春豆

2つの単純なSpring Bean。

ファイル:CustomerBo.java

package com.example.core;

public class CustomerBo {

    public void printMsg(String msg) {

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

}

ファイル:SchedulerBo.java

package com.example.core;

public class SchedulerBo {

    public void printMsg(String msg) {

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

}

3. @構成の例

ここで、JavaConfig@Configurationを使用して上記のBeanを宣言します。

ファイル:CustomerConfig.java

package com.example.config;

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

import com.example.core.CustomerBo;

@Configuration
public class CustomerConfig {

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

        return new CustomerBo();

    }
}

ファイル:SchedulerConfig.java

package com.example.config;

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

@Configuration
public class SchedulerConfig {

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

        return new SchedulerBo();

    }

}

4. @Importの例

@Importを使用して、複数の構成ファイルをロードします。

ファイル:AppConfig.java

package com.example.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.example.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.example.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

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

ダウンロード–Spring3-JavaConfig-Import-Example.zip(7 KB)