about Spring 3.0(spring 注入)

本文介绍了Spring框架中的依赖注入概念及其实现方式,包括设值注入和构造注入,并展示了如何通过XML配置文件定义bean及其依赖关系。此外,还讨论了bean的初始化与销毁的方法。

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

spring 注入是指在启动spring容器加载bean配置的时候,完成对变量的赋值行为

 

常用的两种注入方式:设值注入;构造注入

<property name ="" ref='"/>  对应set方法对应注入;设值注入

<constructor-arg name = '' ref=‘’/>创建实例时即可进行对应注入;构造注入

 

public interface InjectDaoImpl implements InjectDaAO{

   public void save(String arg){

    System.out.print("数据保存"+arg);

}

}

 

public interface InjectService{

   public void save(String arg);

}

 

pulblic class InjectServiceImol implements InjectService{

      public InjectDAO injectDao;

   //生成set方法进行设值注入

    public void SetInjectDAO(InjectDAO injectDao){

     this.injectDao = injectDao;

}

     public void save(String arg){

    Syetem.out.print("service接收参数 : "+ arg);

    arg = arg+“:”+this.hashCode();

}

}

 

@Runwith(BlockUnit4ClassRunner.calss)

public class TestInject extends UnitTestBase{

 public TestInject(){

    super("classpath:spring-injection.xml");

}

@Test

public  void testSetter(){

    InjectService service = super.getBean("InjectService");

}

}

 

<bean id='injectService' class = '......serviceImpl'>

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

</bean>

<bean id = "injectDao" class='com....InjectDaoImpl'><bean>

 

bean 初始化,销毁

1. 实现org.springframework.beans.factory.initializingBean接口,覆盖afterPropertiesSet方法

2. 配置Init-method

<bean id = 'exampleInitBean'  class=‘example.ExampleBean’ init-method=‘init’ />

public class ExampleBean {

   public void init(){

//初始化工作

}

}

销毁

1. 实现org.springframework.beans.factory.DisposableBean接口,覆盖destroy方法

2. 配置destroy-method方法

<bean id ='exampleDestroyBean' class = ‘example.ExampleBean’ destroy-method='cleanup' />

public class ExampleBean{

public void cleanup{

//销毁动作

}

}

 

转载于:https://www.cnblogs.com/dadouxiaodou/p/8649353.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值