通过Annotation注解来生成Bean

1.概述

容器生成bean的一种方式。容器通过扫描指定路径下的类,把满足条件的注解类作为容器中的Bean。

2.常用注解及使用方法

<!-- 自动扫描指定包及其子包下的所有类,将符合要求的注册为bean -->
<context:component-scan base-package="bean"/>
@Component("newNameCompnBean")
@Scope("prototype")
public class ComponentBean {
	private Being being;
	//自动注解,byType方式,将容器中类型匹配的bean设置为实例变量的值(也可是普通方法)	
	@Autowired
	public ConstructorBean constructorBean;
	
	public CollectionBean jihe;
	//自动注解,byType方式,将容器中类型匹配的bean作为方法的形参输入	
	@Autowired
	public void setJihe(CollectionBean jihe){
		this.jihe = jihe;
	}
	
	public void printInf(){
		System.out.println("我是一个组件bean");
	}
	//注入依赖	
	@Resource(name = "staticAnimal")
	public void setBeing(Being being){
		this.being = being;
	}
	
	public void getBeing(){
		this.being.test();
	}
	//类似生命周期中init-method指定bean的初始化方法	
	@PostConstruct
	public void init(){
		System.out.println("Component Bean注入依赖后的init方法");
	}
	//类似生命周期中destory-method指定bean销毁前的方法	
	@PreDestory
	public void close(){
		System.out.println("Component Bean销毁前的close方法");
	}
}

常用注解:

通过@Component、@Controller、@Service、@Respository标示的类被容器注册为bean;
通过@Scope表明bean的作用域;
通过@Resource注入依赖,@Autowired自动装配通过byType机制自动注入赋值给实例变量or作为方法的参数传入;
通过@PostConstruct和@PreDestory来标明生命周期方法;


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值