乐趣区

关于spring:使用java的方式配置Spring

咱们当初要齐全不应用 Spring 的 xml 配置了,全权交给 Java 来做!
JavaConfig 是 Spring 的一个子项目,在 Spring4 之后,他成为了一个外围性能。

实体类

package com.jialidun.pojo;

//@Component 注解,阐明这个类被 Spring 接管了,注册到了容器中
@Component
public class User(){
    private String name;
    
    @Value("RYGAR")// 属性注入值
    public void setName(String name){this.name=name;}
    
    public String getName(){return name;}

    @Override
    public String toString(){
        return "User{" +
                "name='" + name + '\'' +
                '}' ;
    }

}

配置类

package com.jialidun.fonfig;

// 这个 @Configuration 注解也会 Spring 容器托管,注册到容器中。因为它原本就是一个 @Component
//@Configuration 代表这是一个配置类,就和咱们之前看的 beans.xml
@Configuration    
@ComponentScan("com.jialidun.pojo")
@Import(RygarConfig2.class)
public class RygarConfig{
    
    // 注册一个 bean,就相当于咱们之前写的一个 bean 标签
    // 这个办法的名字就相当于 bean 标签中的 id 属性
    // 这个办法的返回值就相当于 bean 标签中的 class 属性
    @Bean
    public User getUser(){return new User();// 返回要注入到 bean 的对象
    }

}

配置类 2

package com.jialidun.config;

@Configuration
public class RygarConfig2{}

测试类

public class TestDemo{public static void main(String[] args){
    // 如果齐全应用了配置类形式去做,咱们就只能通过 AnnotationConfig 上下文来获取容器,通过配置类的 class 对象加载!ApplicationContext context = new AnnotationConfigApplicationContext(RygarConfig.class);
        User user = context.getBean("getUser");
    }

}

这种纯 java 的配置形式,在 SpringBoot 中随处可见!

退出移动版