2、Spring4之Bean的兩種配置方式
1. Bean 屬性的配置方式
1). setter 方法注入(最常用的方式)
①. 在 Bean 中為屬性提供 setter 方法:
public void setBrand(String brand) {
this.brand = brand;
}
public void setCorp(String corp) {
this.corp = corp;
}
public void setPrice(float price) {
this.price = price;
}
public void setMaxSpeed(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
②. 在配置檔案中使用 property 注入屬性值
<bean id="car" class="com.atguigu.spring.ioc.Car">
<property name="brand" value="Audi"></property>
<property name="corp" value="一汽"></property>
<property name="maxSpeed" value="200"></property>
<property name="price" value="200000"></property>
</bean>
2). 構造器注入:
①. bean 中提供構造器:
public Car(String brand, String corp, int price, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
this.maxSpeed = maxSpeed;
}
public Car(String brand, String corp, float price) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
}
public Car(String brand, String corp, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.maxSpeed = maxSpeed;
}
②. 配置檔案中使用 constructor-arg 節點配置使用構造器注入屬性值
<bean id="car2" class="com.atguigu.spring.ioc.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="ChangAn"></constructor-arg>
<constructor-arg value="250000"></constructor-arg>
<constructor-arg value="190"/>
</bean>
③. 注意:對於過載的構造器可以通過引數的型別來匹配對應的構造器
<bean id="car3" class="com.atguigu.spring.ioc.Car">
<constructor-arg value="Buike"></constructor-arg>
<constructor-arg value="ShanghaiTongYong"></constructor-arg>
<constructor-arg value="180000"></constructor-arg>
</bean>
<!--
因為有過載的構造器:
public Car(String brand, String corp, float price)
public Car(String brand, String corp, int maxSpeed)
所以必須指定使用哪一個構造器來初始化屬性值. 可以使用構造器引數的型別來選擇需要的構造器!
-->
1). setter 方法注入(最常用的方式)
①. 在 Bean 中為屬性提供 setter 方法:
public void setBrand(String brand) {
this.brand = brand;
}
public void setCorp(String corp) {
this.corp = corp;
}
public void setPrice(float price) {
this.price = price;
}
public void setMaxSpeed(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
②. 在配置檔案中使用 property 注入屬性值
<bean id="car" class="com.atguigu.spring.ioc.Car">
<property name="brand" value="Audi"></property>
<property name="corp" value="一汽"></property>
<property name="maxSpeed" value="200"></property>
<property name="price" value="200000"></property>
</bean>
2). 構造器注入:
①. bean 中提供構造器:
public Car(String brand, String corp, int price, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
this.maxSpeed = maxSpeed;
}
public Car(String brand, String corp, float price) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
}
public Car(String brand, String corp, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.maxSpeed = maxSpeed;
}
②. 配置檔案中使用 constructor-arg 節點配置使用構造器注入屬性值
<bean id="car2" class="com.atguigu.spring.ioc.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="ChangAn"></constructor-arg>
<constructor-arg value="250000"></constructor-arg>
<constructor-arg value="190"/>
</bean>
③. 注意:對於過載的構造器可以通過引數的型別來匹配對應的構造器
<bean id="car3" class="com.atguigu.spring.ioc.Car">
<constructor-arg value="Buike"></constructor-arg>
<constructor-arg value="ShanghaiTongYong"></constructor-arg>
<constructor-arg value="180000"></constructor-arg>
</bean>
<!--
因為有過載的構造器:
public Car(String brand, String corp, float price)
public Car(String brand, String corp, int maxSpeed)
所以必須指定使用哪一個構造器來初始化屬性值. 可以使用構造器引數的型別來選擇需要的構造器!
-->
解決辦法:
<bean id="car4" class="com.atguigu.spring.ioc.Car">
<constructor-arg value="Nissan"></constructor-arg>
<constructor-arg value="Zhengzhou"></constructor-arg>
<constructor-arg value="210" type="int"></constructor-arg>
</bean>
相關文章
- spring bean別名的兩種配置方式SpringBean
- 3、Spring4之Bean 配置的細節SpringBean
- Groovy獲取Bean兩種方式(奇淫技巧操作)Bean
- Java Spring AOP的兩種配置方式JavaSpring
- 後端開發:【JavaWeb開發之Servlet的兩種配置方式】後端JavaWebServlet
- 兩種方式配置vue全域性方法Vue
- Spring基礎之 IOC九種bean宣告方式SpringBean
- Mac下配置環境變數的兩種方式Mac變數
- Spring注入Bean的幾種方式SpringBean
- Springboot啟動了哪些bean?這兩種方式可以獲取Spring BootBean
- iOS之網上下載資料的兩種方式iOS
- Spring中bean的四種注入方式SpringBean
- Spring Bean的3種裝配方式SpringBean
- spring註冊bean的幾種方式SpringBean
- ChatTTS的兩種使用方式TTS
- Linux下配置網路引數常用的兩種方式!Linux
- JS 垃圾回收的兩種方式JS
- Docker打包映象的兩種方式Docker
- sparkrdd轉dataframe的兩種方式Spark
- 提交Application的兩種方式APP
- 建立Session物件的兩種方式Session物件
- Java之自定義執行緒的2種方式Java執行緒
- zabbix agent 的兩種安裝方式
- HTTP代理的兩種連線方式HTTP
- redis的php驅動兩種方式RedisPHP
- JavaScript 函式的兩種宣告方式JavaScript函式
- RAC時間同步的兩種方式
- SSH綜合查詢的兩種方式
- easyUI 初始化的兩種方式UI
- 建立oracle dblink 的兩種方式Oracle
- 安裝aab包的兩種方式
- gitlab兩種連線方式:ssh和http配置介紹GitlabHTTP
- Oracle兩種備份方式Oracle
- 隱藏元素兩種方式
- JavaEE——Spring4--(2)Bean的配置JavaSpringBean
- 更好的 java 重試框架 sisyphus 配置的 2 種方式介紹Java框架
- 兩種負載均衡的配置。負載
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒