日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring 依赖注入(二、注入参数)

發布時間:2025/7/14 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 依赖注入(二、注入参数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注入參數基本分7類:

1.基本類型值

2.注入bean

3.內部bean

4.注入null值

5.級聯屬性

6.List,Set,Map集合的注入

7.properties文件的注入(和集合注入基本是一樣的)

下面就是實體類People2,beans.xml的源碼

package com.maya.model;import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set;public class People2 {private int id;private String name;private int age;private Dog dog;//注入beanprivate List<String> myList=new ArrayList<String>();//List集合注入 private Set<String> mySet=new HashSet<String>();//Set集合注入private Map<String,String> myMap=new HashMap<String,String>();//Map集合注入private Properties jdbc=new Properties();//properties文件注入,和map差不多都是以key、value的形式public Map<String, String> getMyMap() {return myMap;}public void setMyMap(Map<String, String> myMap) {this.myMap = myMap;}public Set<String> getMySet() {return mySet;}public void setMySet(Set<String> mySet) {this.mySet = mySet;}public List<String> getMyList() {return myList;}public void setMyList(List<String> myList) {this.myList = myList;}public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public People2() {super();}public People2(int id, String name, int age, Dog dog) {super();this.id = id;this.name = name;this.age = age;this.dog = dog;}public Properties getJdbc() {return jdbc;}public void setJdbc(Properties jdbc) {this.jdbc = jdbc;}@Overridepublic String toString() {return "People2 [id=" + id + ", name=" + name + ", age=" + age + ", dog=" + dog + ", myList=" + myList+ ", mySet=" + mySet + ", myMap=" + myMap + ", jdbc=" + jdbc + "]";}//當要使用dog.name是就要注意beans.xml文件的配置} <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 注入參數 --><!-- 基本類型注入 --><bean id="people21" class="com.maya.model.People2"><constructor-arg name="id" value="0"></constructor-arg><constructor-arg name="name" value="張三"></constructor-arg><constructor-arg name="age" value="10"></constructor-arg><constructor-arg name="dog" ref="dog1"></constructor-arg></bean><!-- 注入bean --><bean id="dog1" class="com.maya.model.Dog"><property name="name" value="阿黃"></property></bean><bean id="people22" class="com.maya.model.People2"><property name="id" value="1"></property><property name="name" value="小明2"></property><property name="age" value="22"></property><property name="dog" ref="dog1"></property><!-- 注入bean時ref是要注入的bean的id --></bean><!-- 注入內部bean --><bean id="people23" class="com.maya.model.People2"><property name="id" value="3"></property><property name="name" value="小明3"></property><property name="age" value="33"></property><property name="dog"><bean class="com.maya.model.Dog"><property name="name" value="UZI"></property><!-- 分開寫而已 --></bean></property></bean><!-- 注入null --><bean id="people24" class="com.maya.model.People2"><property name="id" value="3"></property><property name="name" value="小明3"></property><property name="age" value="33"></property><property name="dog"><null></null><!-- 給dog屬性注入一個null --></property></bean><!-- 級聯方式注入 --><!-- <bean id="people25" class="com.maya.model.People2"><property name="id" value="3"></property><property name="name" value="小明3"></property><property name="age" value="33"></property><property name="dog.name" value="小明的狗"></property>注意:以這種方式進行賦值時,因為我們沒用注入Dog的實例對象,所以我們要在People2的dog屬性后new一個Dog實例!這樣才能成功賦值</bean> --><!-- 注入List集合,Set集合,Map集合 --><bean id="people26" class="com.maya.model.People2"><property name="id" value="3"></property><property name="name" value="小明3"></property><property name="age" value="33"></property><property name="dog" ref="dog1"></property><!-- List集合 --><property name="myList"><list><value>a</value><value>b</value><value>c</value><value>d</value></list></property><!-- Set集合,Set集合是自動去掉重復值得!所以輸出的結果還是a,b,c --><property name="mySet"><set><value>a</value><value>b</value><value>c</value><value>c</value><value>b</value><value>a</value></set></property> <!-- Map集合 --><property name="myMap"><map><entry><key><value>上午</value></key><value>寫代碼</value></entry><entry><key><value>下午</value></key><value>測試代碼</value></entry></map></property><!-- 配置properties文件 --><property name="jdbc"><props><prop key="qd">com.mysql.jdbc.Driver</prop><prop key="url">jdbc:mysql://localhost:3306/spring4?characterEncoding=GBK</prop><prop key="user">root</prop></props></property></bean><!-- 配置properties文件 --><bean id="people27" class="com.maya.model.People2"><!-- 在這之前沒有為其他屬性賦值,這是可以得。但是當使用其引用bean的某些方法時就必須給其賦值而且不能是null --><property name="jdbc"><props><prop key="qd">com.mysql.jdbc.Driver</prop><prop key="url">jdbc:mysql://localhost:3306/spring4?characterEncoding=GBK</prop><prop key="user">root</prop></props></property></bean> </beans>

?常見錯誤:

Could not resolve matching constructor(構造函數問題)

Loading XML bean definitions from class path resource(實體類中?引用的其他bean類正在使用它的某些方法!去掉使用的方法就好了)

轉載于:https://www.cnblogs.com/claricre/p/6636793.html

總結

以上是生活随笔為你收集整理的Spring 依赖注入(二、注入参数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。