Spring JavaConfig @Import实例 - 第八基地

软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

当前位置: 第八基地首页 > java > Spring >
Spring JavaConfig @Import实例
发布于:第八基地 来源:互联网 作者:天堂路上 时间:2016-04-23 点击:299
一般来说, 需要按模块或类别 分割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.d8jd.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. 目录结构
本实例目录结构。
2. Spring Beans
两个简单的Spring bean。

File : CustomerBo.java

package com.d8jd.core;

public class CustomerBo {

	public void printMsg(String msg) {

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

}

File : SchedulerBo.java

package com.d8jd.core;

public class SchedulerBo {

	public void printMsg(String msg) {

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

}
3. @Configuration示例
现在,使用JavaConfig @Configuration声明上述Bean类。

File : CustomerConfig.java

package com.d8jd.config;

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

import com.d8jd.core.CustomerBo;

@Configuration
public class CustomerConfig {
	
	@Bean(name="customer")
	public CustomerBo customerBo(){
		
		return new CustomerBo();
		
	}
}

File : SchedulerConfig.java

package com.d8jd.config;

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

@Configuration
public class SchedulerConfig {
	
	@Bean(name="scheduler")
	public SchedulerBo suchedulerBo(){
		
		return new SchedulerBo();
		
	}
	
}
4. @Import示例
使用@Import加载多个配置文件。

File : AppConfig.java

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

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.d8jd.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 11
SchedulerBo : Hello 22
对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈