spring学习13:使用JavaConfig实现配置

spring学习13:使用JavaConfig实现配置

  • 使用Java的方式配置Spring:

    • 我们现在要完全不使用Spring的xml配置了,全权交给Java来做;

    • JavaConfig是Spring的子项目,在Spring4之后,它称为了一个核心功能;

       

 

  • 代码案例:User

    //这个注解的意思,就是说这个类被Spring管理了,注册到容器中
    @Component
    public class User {

       //属性注入值
       @Value("张三")
       private String name;


       public String getName() {
           return name;
      }

       public void setName(String name) {
           this.name = name;
      }
    }
  • 代码案例:MyConfig配置类


    //也会被Spring容器管理,注册到容器中,因为它本来就是一个Component
    //@Configuration:代表这是一个配置类,类似于beans.xml;
    @Configuration
    @ComponentScan("com.ljxdemo.pojo")
    public class MyConfig {

       //注册一个bean,就相当于我们之前写的一个bean标签;
       //这个方法的名字,就相当于bean标签的id属性;
       //这个方法的返回值,就相当于bean标签的class属性;
       @Bean
       public User getUser(){
           return  new User() ;
      }
    }
  • 代码案例:MyConfig2:多个配置类

    //多个beans.xml,需要import注解
    @Configuration
    @ComponentScan("com.ljxdemo.pojo")
    @Import(MyConfig2.class)
    public class MyConfig2 {

       //注册一个bean,就相当于我们之前写的一个bean标签;
       //这个方法的名字,就相当于bean标签的id属性;
       //这个方法的返回值,就相当于bean标签的class属性;
       @Bean
       public User getUser(){
           return  new User() ;
      }

    }
  • 代码案例:测试类

    public class MyTest {

       @Test
       public void test(){
           //如果完全使用了配置类方式:
           //我们就只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载!
           ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
           User getUser = (User) context.getBean("getUser");
           System.out.println(getUser);
      }
    }

 

 

 

  • 总结:

    • 这种纯Java的配置方式,在SpringBoot中随处可见;

       

 

 

 

 

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...