前面我们一直使用xml实现配置,最后使用注解代替xml实现配置,本文将再介绍一个实现配置的方法。javaConfig是spring4之后出现的新特性,是利用Java语言实现注册,比xml更灵活。
1 官网介绍
javaConfig代替xml
测试
2 案例实现(注解Bean)
3 代码分析
User.java //@Component public class User { public String name; public String getName() { return name; } @Value("测试名字") public void setName(String name) { this.name = name; } } ---------------------------------------------------------- 写@Component的目的是将该类的属性注入但是这里并没有发挥作用 因为JavaConfig.java中的Bean已经创建了对象,实现了注入 所以这里不写Component
JavaConfig.java @Configuration public class JavaConfig { @Bean public User getUser() { return new User(); } }
@Configuration —>也会被spring容器托管,注册到容器中
@Bean---->相当于注册一个bean标签
方法的名字 “user” 相当于 bean 标签的 “id”
方法的返回值"User" 相当于 bean 标签的 “class”
Bean已经实现了注入,不需要在User.java文件中 compoment
@Bean和@Compoment是两种形式,但都依赖于@Configuration
只是使用@Compoment还需要@CompomentScans配合指明bean扫描路径,后面具体介绍。
@Test public void test01(){ ApplicationContext ctx = new AnnotationConfigApplicationContext(JavaConfig.class); User user = ctx.getBean("getUser",User.class); System.out.println(user.name); } --------------------------------------------------------- 这里传入getUser说明:注解Bean作用下,方法名 == xml 中的 id