Spring入门——Bean装配之Bean的生命周期与Aware

生命周期

-定义

-初始化

-使用

-销毁

初始化

-实现org.Springframework.beans.factory.InitializingBean接口,覆盖   afterPropertiesSet方法
-配置init-method

销毁

-实现org.Springframework.beans.factory.DisposableBean接口,覆盖destory方法
-配置destroy-method

配置全局默认初始化、销毁方法


如果自己配置了init ,destory method 则default init ,destroy方法将会被覆盖

Aware

  • Spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源
  • 通过Aware接口,可以对Spring相应资源进行操作(一定要慎重)
  • 为对Spring进行简单的扩展提供了方便的入口

例子
ApplicationContextAWare类
package com.txr.bean;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContextAware;

public class ApplicationContext implements ApplicationContextAware{

	@Override
	public void setApplicationContext(org.springframework.context.ApplicationContext arg0) throws BeansException {
		
		System.out.println(arg0.getBean("applicationContext"));
	}
	

}

测试:
static
	{
		context=new ClassPathXmlApplicationContext("com/txr/resource/spring-ioc.xml");
	}
	
	public static void main(String[] args) {
		testApplication();
		
	}
	public static void testApplication()
	{
		System.out.println("ApplicationContext : "+context.getBean("applicationContext"));
	}

测试结果:
com.txr.bean.ApplicationContext@9736e99
ApplicationContext : com.txr.bean.ApplicationContext@9736e99
BeanName测试
package com.txr.bean;

import org.springframework.beans.factory.BeanNameAware;

public class BeanName implements BeanNameAware{

	@Override
	public void setBeanName(String name) {
		System.out.println("BeanName :"+name);
	}
	
}

测试:
public static ApplicationContext context=null;
	static
	{
		context=new ClassPathXmlApplicationContext("com/txr/resource/spring-ioc.xml");
	}
	
	public static void main(String[] args) {
		testBeanName();
		
	}
	public static void testBeanName()
	{
		System.out.println("BeanName1 :"+context.getBean("beanName"));
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值