通常,您将按模块或类别将一个较大的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.目录结构
此示例的目录结构。
2.四季豆
两个简单的Spring Bean。
文件:CustomerBo.java
package com.mkyong.core;
public class CustomerBo {
public void printMsg(String msg) {
System.out.println("CustomerBo : " + msg);
}
}
文件:SchedulerBo.java
package com.mkyong.core;
public class SchedulerBo {
public void printMsg(String msg) {
System.out.println("SchedulerBo : " + msg);
}
}
3. @Configuration示例
现在,使用JavaConfig @Configuration声明上述bean。
文件: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();
}
}
文件: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. @导入示例
使用@Import加载多个配置文件。
文件: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
下载源代码
下载它– Spring3-JavaConfig-Import-Example.zip (7 KB)
参考文献
标签: javaconfig spring3
翻译自: https://mkyong.com/spring3/spring-3-javaconfig-import-example/