Spring 3 JavaConfig @Import example
来源:互联网 发布:编程语言排行榜2017 8 编辑:程序博客网 时间:2024/05/17 12:49
Normally, you will split a large Spring XML bean files into multiple small files, group by module or category, to make things more maintainable and modular. For example,
<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>
In Spring3 JavaConfig, the equivalent functionality is @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 {}
@Import Example
See a full example of using JavaConfig @Import
.
1. Directory Structure
Directory structure of this example.
2. Spring Beans
Two simple Spring beans.
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. @Configuration example
Now, use JavaConfig @Configuration
to declare above beans.
File : CustomerConfig.java
package com.mkyong.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.mkyong.core.CustomerBo;@Configurationpublic 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;@Configurationpublic class SchedulerConfig { @Bean(name="scheduler") public SchedulerBo suchedulerBo(){ return new SchedulerBo(); }}
4. @Import example
Use @Import
to load multiple configuration files.
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. Run it
Load the main configuration file , and test it.
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"); }}
Output
CustomerBo : Hello 1SchedulerBo : Hello 2
0 0
- Spring 3 JavaConfig @Import example
- Spring 3 JavaConfig example
- Spring 3 JavaConfig example
- Spring JavaConfig @Import实例
- spring-javaconfig
- 《Spring实战》学习笔记(二)JavaConfig @Import 和 @ImportResource注解的使用
- Spring中JavaConfig特性
- Spring JavaConfig实例
- Spring JavaConfig注入依赖
- 理解Spring-javaconfig
- JavaConfig @Import 和 @ImportResource注解的使用
- Spring journey -- JavaConfig 装配 Bean
- spring实战-JavaConfig装配bean
- JavaConfig
- javaConfig
- Spring MVC 零配置 / Spring MVC JavaConfig
- Spring 3 Hello World Example
- Spring 3 MVC ContentNegotiatingViewResolver example
- inux重定向及nohup不输出的方法
- mybatis之foreach用法
- 简单路由器的实现
- VMware与主机三种通信方式
- [LeetCode 173] Binary Search Tree Iterator
- Spring 3 JavaConfig @Import example
- springmvc学习笔记(一)第一个helloworld
- MapReduce实现join操作
- JSFF2 mount fail
- gitlab 使用postgresql数据库的一些说明
- TS流判断I帧
- poj 1129 Channel Allocation(DFS减枝)
- 基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)
- linux文件压缩命令