Spring注入

Spring依赖注入之set方式

1.在PerDaoImpl中定义属性及set方法(PerDaoImpl类)

private int pid;

private String pname;

public void SetPid(int pid){

this.pid=pid;

}

public void SetPname(int pname){

this.pname=pname;

}

2.配置文件中为属性赋值(beans.xml)

通过set方法为属性赋值,根据name属性去查找对应的set方法,将value值作为形参传入set方法中

<bean id="pDao" class="com.offcn.dao.PerDaoImpl">跳转到类中实现方法

<property name="pid" value="11"></property>

<property name="pname"><value>12</value></property>两种属性赋值方式

</bean>

3.(1)在PerDaoImpl中save方法中打印(测试)(PerDaoImpl类)

public void save(){

System.out.println("明天");

}

(2)主函数测试(App类)

PerDao pd=(PerDao) ap.getBean("pDao");获取beans.xml文件中bean标签id为pDao,

如(bean id="pDao") pd.save();

其他类型的注入

1.实体类中添加其他类型的属性及set,get方法

private UserDaoImpl ud;

private List<Object> list;

public UserDaoImpl getUd() { return ud; }

public void setUd(UserDaoImpl ud) {
  this.ud = ud;
}

public List<Object> getList() { return list; }

public void setList(List<Object> list) {
  this.list = list;
}

2.在配置中赋值(beans.xml)

为自定义类型赋值的方式:外部引入和内部引入两种方式

<property name="ud"> 实体类中定义的属性名为ud

<bean class="com.offcn.dao.UserDaoImpl"></bean>

</property>

list列表注入

<property name="list"> 实体类中定义的属性名为list

<list>

<value>11</Value>

<ref bean="uDao"></ref>

<bean class="com.offcn.dao.UserDaoImpl"></bean>跳转到类中实现方法

</list>

</property>

注:<bean id="uDao" class="com.offcn.dao.UserDaoImpl"></bean>

list标签下后两条数据输出结果一致

3.PerDaoImpl中的save方法打印(PerDaoImpl类)

System.out.println("list:"); for (Object o : list) { property标签下list标签数据 System.out.println("list:"+o); }

Spring注入方式之构造方法注入

1.在实体类中加构造函数

public PerDaoImpl(int pid, UserDaoImpl ud) { 有参构造方法 super(); this.pid = pid; this.ud = ud; }

2.在配置文件中构造方法注入

<bean id="pd" class="com.offcn.dao.PerDaoImpl">

<constructor-arg index="0">

<value>12</value>

</constructor-arg>

<constructor-arg index="1">

<ref bean="uDao"></ref>

-----<bean class="com.offcn.dao.UserDaoImpl"></bean>-----与其是两种表示方式

</constructor-arg>

</bean>

3.(1)在PerDaoImpl中save方法中打印(测试)(PerDaoImpl类)

public void save(){

System.out.println("明天");

}

(2)主函数测试(App类)

PerDao pd=(PerDao) ap.getBean("pd");获取beans.xml文件中bean标签id为pd,

如(bean id="pDao")、其中(PerDao)是强制转换类型 pd.save();

 

posted @ 2021-06-21 20:06  晚风将至  阅读(78)  评论(0编辑  收藏  举报