Spring注解2---@Configuration&@Bean

Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。

SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。

public class User {
    private int id;
    private String name;
    private String password;
    private String number;
    private String birthday;
    private String job;
    private String gender;

    public User() {
    }

    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {return id;}
    public void setId(int id) {this.id = id; }
    public String getName() {return name;}
    public void setName(String name) {this.name = name;}
    public String getPassword() {return password;}
    public void setPassword(String password) {this.password =password;}
    public String getNumber() { return number;}
    public void setNumber(String number) {this.number = number;}
    public String getBirthday() {return birthday;}
    public void setBirthday(String birthday) {this.birthday = birthday; }
    public String getJob() {return job; }
    public void setJob(String job) {this.job = job; }
    public String getGender() { return gender;}
    public void setGender(String gender) {this.gender = gender; }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ",gender="+gender+"," +
                " job="+job+",password=" + password + "," +
                "birthday="+birthday+", number=" + number + "password="+password+"]";
    }
}

 

@Configuration
public class ConfigIOC {
    // 方法名为这个bean在Spring容器的名称,也可以在@Bean后面添加("user名称")重命名
    @Bean
    public User user(){
        return new User();
    }
}
@SpringBootTest
class SpringbootApplicationTests {

    @Test
    void contextLoads() {
        ApplicationContext applicationContext = new 
        AnnotationConfigApplicationContext(ConfigIOC.class);
        User bean = (User) applicationContext.getBean("user");
        System.out.println(bean);
    }

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章