发表于: 2017-11-29 23:14:54
1 776
今天完成的事情:
昨晚熬夜今天有点迷.学的东西不多.大致看了一下IOC里面的DI(依赖注入)
①通过构造方法注入.
这种方式需要自己手动的提供出有参函数.
package com.myspring.di.properties;
import lombok.AllArgsConstructor;
/**
* @author Arike
* Create_at 2017/11/29 19:00
*/
@AllArgsConstructor
public class StudentConstractorImpl implements IStudent {
private String name;
private int age;
private String gender;
private double money;
}
<!--使用Constrator注入属性-->
<bean id="student2" class="com.myspring.di.properties.StudentConstractorImpl">
<constructor-arg name="name" value="剑飞"/>
<constructor-arg name="age" value="18"/>
<constructor-arg name="gender" value="女"/>
<constructor-arg name="money" value="5.5"/>
</bean>
②通过setter方式注入
这种方式需要自己给出所有需要注入的数据的set方法.
package com.myspring.di.properties;
import lombok.Data;
/**
* @author Arike
* Create_at 2017/11/29 17:40
*/
@Data
public class StudentSetterImpl implements IStudent {
private String name;
private int age;
private String gender;
private double money;
public void show(){
System.out.println(name+age+gender+money+"天秀");
}
<!--使用setter方式注入属性.-->
<bean id="student1" class="com.myspring.di.properties.StudentSetterImpl">
<property name="name" value="张三"/>
<property name="age" value="23"/>
<property name="gender" value="男"/>
<property name="money" value="999.9"/>
</bean>
③对自定义的引用数据类型注入
需要先将自定义类在xml中定义,然后才可以匹配注入.
package com.myspring.di.properties;
import lombok.Data;
/**
* @author Arike
* Create_at 2017/11/29 19:14
*/
@Data
public class StudentReferenceImpl implements IStudent {
private StudentUtil studentUtil;
}
<!--对引用数据注入类型-->
<bean id="student3" class="com.myspring.di.properties.StudentReferenceImpl">
<property name="studentUtil" ref="studentUtil"/>
</bean>
<bean id="studentUtil" class="com.myspring.di.properties.StudentUtil"/>
④对集合,数组类型进行注入.
package com.myspring.di.properties;
import lombok.Data;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
/**
* @author Arike
* Create_at 2017/11/29 19:25
*/
@Data
public class ConnectionBean {
private List<String> list;
private Set<String> set;
private Map<String, String> map;
private Properties properties;
private String [] strings;
}
不同的集合的标签不同,分别和集合的类名相对应
<!--对集合数组注入数据-->
<bean id="connection" class="com.myspring.di.properties.ConnectionBean">
<property name="list">
<list>
<value>list1</value>
<value>list1</value>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<property name="map">
<map>
<entry key="1" value="map1"/>
<entry key="1" value="map2"/>
<entry key="2" value="map3"/>
<entry key="3" value="map4"/>
<entry key="4" value="map4"/>
</map>
</property>
<property name="properties">
<value>
name=zhangsan
age=20
money=5.5
</value>
</property>
<property name="set">
<set>
<value>set1</value>
<value>set1</value>
<value>set2</value>
<value>set3</value>
<value>set1</value>
</set>
</property>
<property name="strings">
<array>
<value>剑飞</value>
<value>剑飞</value>
<value>剑飞</value>
<value>剑飞</value>
<value>剑飞</value>
</array>
</property>
</bean>
明天计划的事情:
因为Spring会使用到连接池,打算补一下连接池的知识.
遇到的问题:
无
收获:
Spring DI的常用用法学习了.
禅道:http://task.ptteng.com/zentao/project-burn-414.html
评论