SpringIOC容器-物件依賴
1 概述
Spring中,如何給物件的屬性賦值? 【DI, 依賴注入】
1) 通過建構函式
2) 通過set方法給屬性注入值
3) p名稱空間
4) 自動裝配
5) 註解
1.1 通過建構函式
<!-- ###############物件屬性賦值############### -->
<!-- 1) 通過建構函式 -->
<bean id="user1" class="cn.itcast.c_property.User" scope="prototype">
<constructor-arg value="100"></constructor-arg>
<constructor-arg value="Tom"></constructor-arg>
</bean>
1.2 (常用)Set方法注入值
<!-- dao instance -->
<bean id="userDao" class="c_property.UserDao"></bean>
<!-- service instance -->
<bean id="userService" class="c_property.UserService">
<property name="userDao" ref="userDao"></property>
</bean>
<!-- action instance -->
<bean id="userAction" class="c_property.UserAction">
<property name="userService" ref="userService"></property>
</bean>
User.java
public class User {
private int id;
private String name;
////////////////// --> 通過容器注入屬性值
public void setId(int id) {
this.id = id;
}
// //--> 通過容器注入屬性值
public void setName(String name) {
this.name = name;
}
////////////////
public int getId() {
return id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
public User() {
super();
System.out.println("------User物件建立【無引數構造器】------");
}
public User(int id, String name) {
System.out.println("-----User物件建立【帶引數構造器】--------");
this.id = id;
this.name = name;
}
public void init_user() {
System.out.println("建立物件之後,初始化");
}
public void destroy_user() {
System.out.println("IOC容器銷燬,user物件回收!");
}
}
UserAction.java
public class UserAction {
// Service: springIOC容器注入
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
public String execute() {
userService.save();
return null;
}
}
UserService.java
public class UserService {
private UserDao userDao; // = new UserDao();
// IOC:物件的建立交給spring的外部容器完成
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void save() {
userDao.save();
}
}
UserDao.java
public class UserDao {
public void save() {
System.out.println("zmiagen:儲存使用者");
}
}
1.3 內部bean
<!-- ##############內部bean############## -->
<bean id="userAction" class="c_property.UserAction">
<property name="userService">
<bean class="c_property.UserService">
<property name="userDao">
<bean class="c_property.UserDao"></bean>
</property>
</bean>
</property>
</bean>
相關文章
- SpringIOC迴圈依賴Spring
- SpringIOC容器-建立物件Spring物件
- IOC容器和依賴注入依賴注入
- PHP 依賴注入容器實現PHP依賴注入
- 淺析依賴倒轉、控制反轉、IoC 容器、依賴注入。依賴注入
- SpringIOC通過註解實現DI(dependence injection,依賴注入)Spring依賴注入
- PHP 依賴注入容器 Pimple 筆記PHP依賴注入筆記
- 服務容器(自己總結)依賴注入依賴注入
- 【譯】深入研究Laravel的依賴注入容器Laravel依賴注入
- C#中的依賴注入和IoC容器C#依賴注入
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- Asp.net core自定義依賴注入容器,替換自帶容器ASP.NET依賴注入
- 依賴管理和依賴範圍
- 物件導向~如何解除具體依賴物件
- 從檢視看Oracle物件依賴機制Oracle物件
- 依賴
- OOD、DIP、IOC、DI、依賴注入容器(即 控制反轉容器,IOC Container)依賴注入AI
- spring原始碼解析之IOC容器(三)——依賴注入Spring原始碼依賴注入
- PHP中的服務容器與依賴注入的思想PHP依賴注入
- 依賴倒置(DIP)與依賴注入(DI)依賴注入
- Maven依賴管理:控制依賴的傳遞Maven
- Maven依賴範圍及依賴傳遞Maven
- 又一個強大的PHP5.3依賴注入容器PHP依賴注入
- 為Flutter而生的輕量級依賴檢索容器—DartinFlutterDart
- SpringBoot啟動流程分析(六):IoC容器依賴注入Spring Boot依賴注入
- 一文秒懂什麼是依賴注入, Ioc容器依賴注入
- 又一個「簡單」的 PHP5.3 依賴注入容器PHP依賴注入
- Yadi是基於Java8的依賴注入容器Java依賴注入
- AI依賴算力,而算力依賴能源AI
- SpringIOC二—— 容器 和 Bean的深入理解SpringBean
- Container 一款為 Go 開發的依賴注入容器AIGo依賴注入
- 探索 JavaScript 中的依賴管理及迴圈依賴JavaScript
- 【PY】PyQT 依賴QT
- angular依賴注入Angular依賴注入
- XUnit 依賴注入依賴注入
- golang 依賴管理Golang
- Struts 依賴注入依賴注入
- HTop依賴包