@Autowired 作用範圍
阿新 • • 發佈:2018-04-01
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 作用範圍