一般来说, 需要按模块或类别 成多个小文件, 使事情更容易维护和模块化。 例如,
Spring3 JavaConfig它等效于 @Import 功能
package com.yiibai.config;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;@Configuration@Import({ CustomerConfig.class, SchedulerConfig.class })public class AppConfig {}
@Import实例
请参阅使用 的一个完整的例子。
1. 目录结构
本实例目录结构。
2. Spring Beans
两个简单的Spring bean。
File : CustomerBo.java
package com.yiibai.core;public class CustomerBo { public void printMsg(String msg) { System.out.println("CustomerBo : " + msg); }}
File : SchedulerBo.java
package com.yiibai.core;public class SchedulerBo { public void printMsg(String msg) { System.out.println("SchedulerBo : " + msg); }}
3. @Configuration示例
现在,使用JavaConfig @Configuration声明上述Bean类。
File : CustomerConfig.java
package com.yiibai.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.yiibai.core.CustomerBo;@Configurationpublic class CustomerConfig { @Bean(name="customer") public CustomerBo customerBo(){ return new CustomerBo(); }}
File : SchedulerConfig.java
package com.yiibai.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.yiibai.core.SchedulerBo;@Configurationpublic class SchedulerConfig { @Bean(name="scheduler") public SchedulerBo suchedulerBo(){ return new SchedulerBo(); } }
4. @Import示例
使用@Import加载多个配置文件。
File : AppConfig.java
package com.yiibai.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.yiibai.core;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import com.yiibai.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 11"); SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler"); scheduler.printMsg("Hello 22"); }}
输出结果
CustomerBo : Hello 11SchedulerBo : Hello 22
下载代码 –
http://www.yiibai.com/spring/spring-3-javaconfig-import-example.html