Spring入门理解(七)JavaConfig实现配置

前面我们一直使用xml实现配置,最后使用注解代替xml实现配置,本文将再介绍一个实现配置的方法。javaConfig是spring4之后出现的新特性,是利用Java语言实现注册,比xml更灵活。

1 官网介绍

javaConfig代替xml
Spring入门理解(七)JavaConfig实现配置_第1张图片
测试
Spring入门理解(七)JavaConfig实现配置_第2张图片

2 案例实现(注解Bean)

Spring入门理解(七)JavaConfig实现配置_第3张图片

Spring入门理解(七)JavaConfig实现配置_第4张图片

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

你可能感兴趣的:(Spring,java,spring,xml)