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>
转载网址: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>
相关文章推荐
- java-spring与mongodb的整合方式一 自动注入xml
- Spring之Construcotrer注入和setter注入不同的XML写法方式
- java-spring与mongodb的整合方式一 自动注入xml
- 【Spring学习05】四种xml配置注入方式
- 3.Spring Boot + Security初步使用(覆盖配置的两种方式 配置类和XML注入以自定义页面为例)
- Spring IOC 依赖注入的两种方式XML和注解
- spring 学习之四(spring的注入方式(xml和annotation))
- SSM搭建-Spring之bean的属性值XML注入方式(4)
- java-spring与mongodb的整合方式一 手动注入xml
- SSM框架项目搭建系列(四)— Spring之bean的XML注入方式
- Spring之Construcotrer注入和setter注入不同的XML写法方式
- Spring中Bean的注册与注入——XML方式
- Spring 配置bean, 注解方式配置 xml方式要生产set方法方便属性注入,注解方式不需要,利用反射机制注入
- Spring AOP面向切面编程详解(基于XML方式 注解方式 注入Aspectj方式)
- 5、SSM框架-Spring之bean的属性值XML注入方式(5)
- Spring依赖注入——手工装配(XML方式)
- spring通过注解依赖注入和获取xml配置混合的方式
- Spring IOC 依赖注入的两种方式:XML和注解
- Spring xml 手动注入方式
- java-spring与mongodb的整合方式一 手动注入xml