當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring 依赖注入(二、注入参数)
生活随笔
收集整理的這篇文章主要介紹了
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 依赖注入(二、注入参数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery书写一个简易的二级联动
- 下一篇: JS 中关于日期