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);
    }

}

 

 

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