您的位置:首页 > 编程语言 > Java开发

springxml的注入方式

2016-10-24 22:14 162 查看
由于最近自己面试,遇到的一些题目,记录下来

转载网址:http://www.cnblogs.com/AnXinliang/p/5463598.html


其实分两种注入方式:

1、XML的方式:(配置的方式)


1、set方法注入

package
com.zjl.springdemo.action


public
class SpringAction{


private SpringDao springDao;


public void setSpringDao(SpringDao springDao){


this.springDao=springDao;


}

public void login(){

System.out.println("=====");

}

}


sping.xml中bean的配置

<bean name="springAction" class="com.zjl.springdemo.action.SpringAction">

<property
name="springDao" ref="springDao"/>


</bean>

<bean name="springDao" class="com.zjl.springdemo.dao.SpringDao"></bean>



2、构造方法注入

public class SpringAction{

private SpringDao springDao;

private User user;

//使用构造器的方式进行注入

public SpringAction(SpringDao springDao,User
user){


this.springDao =springDao;

this.user=user;

}

}

<bean name="springAction" class="com.zjl.springdemo.action.SpringAction">

<consturctor-arg
ref="springDao"/>


<constructor-arg
ref="user"/>


</bean>

<bean name="springDao" class="com.zjl.springdemo.dao.SpringDao"/>

<bean
name="springDao" class="com.zjl.springdemo.entity.User"/>


如果遇到了两个同类型的参数的话,设置可以如下

<bean name="springAction" class="com.zjl.springdemo.action.SpringAction">

<constructor-arg
index="0" ref="springDao"/>


<constructor-arg
index="1" ref="user"/>


</bean>



3、静态工厂的方法注入

静态工厂类:

package
com.zjl.springdemo.dao


........

public
class DaoFactory{


public
static FactoryDao getStaticFactoryDaoImpl(){


return
new StaticFactoryDaoImpl


}

}

public
class SpringAction{


private
FactoryDao staticFactoryDao;


public
void setStaticFactoryDao(FactoryDao
staticFactoryDao){


this.staticFactoryDao=staticFactoryDao;

}

}

spring.xml配置

<bean
name="springDao" class="com.zjl.springdemo.action.SpringAction">


<property
name="staticFactoryDao" ref="staticFactoryDao"/>


</bean>

<bean
name="staticFactoryDao" class="com.zjl.springdemo.dao.DaoFactory" factory-method="getStaticFactoryDaoImpl"/>




4、实例工厂方法注入

public class DaoFactory{

public FactoryDao getFactoryDAoImpl(){

return new Factory FactoryDaoImpl();

}

}



public class SpringAction{

private FactoryDao factoryDao;

public
void setStaticFactoryDao(FactoryDao factoryDao){

this.factoryDao=factoryDao;

}

}

spring.xml 配置
<bean
name="springAction" class="com.zjl.springdemo.action.SpringAction">


<property
name="factoryDao" ref="factoryDao"/>


</bean>

<bean
name="factoryDao" factory-bean="daoFactory" factory-method="getFactoryDaoImpl"/>


<bean
name="daoFactory" class="com.zjl.springdemo.dao.DaoFactory"></bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: