1. 程式人生 > 其它 >spring學習13:使用JavaConfig實現配置

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中隨處可見;