在传统的配置下,我们一般使用xml配置来完成bean的注入,例如
1
| <bean id=”beanService” class=”com.bean.service.beanServiceImpl”/>
|
现在利用@javaConfig就能完成整个配置。下面是一个例子。
例子一:
1.Helloeorld类
1 2 3
| public interface Helloeorld { void printHelloWorld(String msg); }
|
2.HelloworldImpl类
1 2 3 4 5 6
| public class HelloworldImpl implements Helloeorld{ @Override public void printHelloWorld(String msg) { System.out.println(“Hello : “ + msg); } }
|
- TestConfig
1 2 3 4 5 6 7
| @Configuration public class TestConfig { @Bean(name=“helloeorld”) public Helloeorld getHello(){ return new HelloworldImpl(); } }
|
4.测试类
1 2 3
| ApplicationContext context = new AnnotationConfigApplicationContext(TestConfig.class); Helloeorld obj = (Helloeorld) context.getBean(“helloeorld”); obj.printHelloWorld(“Spring Java Config”);
|
例子2:
@Import
在我们运用传统xml方式进行配置Spring时,可以通过如下方式加载多个配置文件:
1、CustomerBo类
1 2 3 4 5
| public class CustomerBo { public void printMsg(String msg) { System.out.println(“CustomerBo : “ + msg); } }
|
2.CustomerConfig类
1 2 3 4 5 6 7
| @Configuration public class CustomerConfig { @Bean(name=“customer”) public CustomerBo customerBo(){ return new CustomerBo(); } }
|
3.AppConfig类
1 2 3 4 5 6 7 8
| @Configuration @Import({ CustomerConfig.class/* 这里写的多个配置SchedulerConfig.class */}) public class AppConfig { } ApplicationContext context = new AnnotationConfigApplicationContext( AppConfig.class); CustomerBo customer = (CustomerBo) context.getBean(“customer”); customer.printMsg(“Hello 11”);
|