@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;

}

 

实例;

@Configuration
public class ConfigTest1 {	
	
	/**
	 * initMethod:在对象被创建,属性赋值完毕后,调用初始化方法
	 *              1.单例的bean,在IOC容器在被创建的时候就会被创建,所以init方法也会马上被调用
	 *              2.非单例的bean,只有在被调用的时候才创建,所以那时才被代用init方法。
	 * destroyMethod:在对象被销毁之前被调用。
	 */
	@Bean(initMethod="init",destroyMethod="destory")
	public Car car() {
		return new Car();
	}
}

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐