Spring——使用Java的方式配置Spring

JavaConfig是Spring的一个子项目,Spring4之后成为了核心功能

配置文件:

 package com.yl.config;
 
 import com.yl.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;
 
 @Configuration//会被Spring容器托管,注册到容器中,等同于beans.xml
 @ComponentScan("com.yl.pojo")
 @Import(MyConfig2.class)
 public class MyConfig {
 
     //注册一个bean,相当于bean标签,方法的名字=bean中的id,方法的返回值=bean的class
     @Bean
     public User getUser(){
         return new User();
    }
 }

实体类:

 package com.yl.pojo;
 
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 @Component
 public class User {
     private String name;
 
     public String getName() {
         return name;
    }
 
     @Value("lulu")//属性注入值
     public void setName(String name) {
         this.name = name;
    }
 
     @Override
     public String toString() {
         return "User{" +
                 "name='" + name + '\'' +
                 '}';
    }
 }

测试类:

 import com.yl.config.MyConfig;
 import com.yl.pojo.User;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 
 public class MyTest {
     public static void main(String[] args) {
         ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
         User user = context.getBean("getUser", User.class);
         System.out.println(user);
    }
 }

因为在config中配置了@ComponentScan("com.yl.pojo")扫描包,实体类配置了@Component,所以也可以用user取到:

 User user = context.getBean("user", User.class);

 

posted @ 2020-09-02 15:49  Fabulo  阅读(104)  评论(0)    收藏  举报