Spring5DEA版【通俗易懂】--个人笔记(四)

4、 使用java的方式配置Spring

我们现在要完全不适用Spring的xml配置了,全权交给java来做!

javaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能。

实体类:

 @Component
    public class User {
        private String name;
    
        public String getName() {
            return name;
        }
    
        @Value("小笨蛋")
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    '}';
        }
    }

import com.kuang.pojo.User;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
    
    //这个也会被Spring容器托管,注册到容器中,因为本来就是一个@Component
    //@Configuration代表这是一个配置类,就和我们之前看的beans.xml
    @Configuration
    @ComponentScan("com.kuang.pojo")
    @Import(KuangConfig2.class )
    public class KuangConfig {
        //注册一个bean,就相当于我们之前写的一个bean标签
        //这个方法的名字,就相当于bean标签中的id属性
        //这个方法的返回值,就相当于bean标签中的class属性
        @Bean
        public User getUser(){
            return new User();//就是返回要注入到bean的对象
        }
    }

测试类:

 public class MyTest {
        public static void main(String[] args) {
            //如果完全使用了配置类方式去做,我们就只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载!
            ApplicationContext context = new AnnotationConfigApplicationContext(KuangConfig.class);
            User getUser = (User) context.getBean("getUser");
            System.out.println(getUser.getName());
        }
    }

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