发表于: 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  


返回列表 返回列表
评论

    分享到