springxml的注入方式

本文详细介绍了Spring框架中的四种依赖注入方式:set方法注入、构造方法注入、静态工厂方法注入及实例工厂方法注入,并提供了每种方式的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于最近自己面试,遇到的一些题目,记录下来

转载网址: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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值