@Bean注解
value :用来修改被标注bean在IOC容器中的id属性。
name :用来修改被标注bean在IOC容器中的id属性。
initMethod :指定初始化方法
destroyMethod:指定销毁的方法PS:相当于xml文件中init-method &destroy-method属性
<bean id="car" class="com.rayli.beans.Car" init-method="init" destroy-method="destory"></bean>
public @interface Bean {@AliasFor("name")String[] value() default {};@AliasFor("value")String[] name() default {};Autowire autowire() default Autowire.NO;String initMethod() default "";String destroyMethod() default AbstractBeanDefinition.INFER_METHOD;}
实例;
@Configurationpublic class ConfigTest1 {/*** initMethod:在对象被创建,属性赋值完毕后,调用初始化方法* 1.单例的bean,在IOC容器在被创建的时候就会被创建,所以init方法也会马上被调用* 2.非单例的bean,只有在被调用的时候才创建,所以那时才被代用init方法。* destroyMethod:在对象被销毁之前被调用。*/@Bean(initMethod="init",destroyMethod="destory")public Car car() {return new Car();}}