1. 程式人生 > >@Autowired 作用範圍

@Autowired 作用範圍

his 調用 如果 auto class 屬性 容器 ont clas

一、@AutoWired 可以作用於:構造器、方法、參數、屬性

技術分享圖片

二、作用在方法上

@Component
public class Student{
    
    private Book book;

    public Book getBook() {
        return book;
    }
    
    //@Autowired 標註在方法上, Spring 容器在創建當前對象的時候,就會調用該方法,完成賦值
    //方法使用的參數,自定義類型的的值從容器中獲取
    @Autowired
    public void setBook(Book book) {
        
this.book = book; } }

三、作用在構造器上( 如果只用一個有參構造器 @Autowired 可以省略 )

@Component
public class Student{
    
    private Book book;
    
    //容器啟動會默認調用無參構造器,再進行初始化賦值等操作
    //@Autowired 加載構造方法上,容器啟動的時候,就會調用該構造方法創建對象。構造器要用的參數,都是從容器中獲取
    @Autowired
    public Student(Book book) {
        super();
        
this.book = book; } public Book getBook() { return book; } public void setBook(Book book) { this.book = book; } }

四、作用在參數上( 效果和作用在方法上 或者 作用在構造器上是一樣的 )

@Component
public class Student{
    
    private Book book;
    
    //容器啟動會默認調用無參構造器,再進行初始化賦值等操作
    //@Autowired 加載構造方法上,容器啟動的時候,就會調用該構造方法創建對象。構造器要用的參數,都是從容器中獲取
public Student(@Autowired Book book) { super(); this.book = book; } public Book getBook() { return book; } public void setBook(Book book) { this.book = book; } }

五、作用在屬性上面

@Autowired
private Student student;

@Autowired 作用範圍