使用 @Bean 注释

时间:2024-10-15 04:15:16

1、@Bean 是方法级注释和XML 争犸禀淫<bean/> 元素的直接模拟。注释支持一些提供的属性 <bean/> ,例如:*init-method * destroy-method * autowiring * name 。您可以在带 @Bean 注释的类 @Configuration 或带 注释的类中使用注释 @Component

使用 @Bean 注释

2、要声明bean,可以使用注释注释方法 @Bean 。您可以使用此方法在 ApplicationContext 指定为方法的返回值的类型中注册bean定义。默认情况下,bean名称与方法名称相同。以下示例显示了@Bean 方法声明:

使用 @Bean 注释

3、上述配置与以下Spring XML完全等效:

使用 @Bean 注释

4、这两个声明都将一个名为 transferService available 的bean命名为 ApplicationContext 绑定到类型的对象实例, TransferServiceImpl 如下图所示:

使用 @Bean 注释

5、您还可以 使用@Bean接口(或基类)返回类型声明您的方法,如以下示例所示:

使用 @Bean 注释

6、但是,这会将高级类型预测的可见性限制为指定的接口类型( TransferService )。然后,TransferServiceImpl 只使用容器已知的完整类型()一次,就会实例化受影响的单例bean。

使用 @Bean 注释

7、非延迟单例bean根据其声明顺碌食撞搁序进行实例化,因此您可能会看到不同的类型匹配结果,具体取决于另一个组件何时尝试通过非声明类型进行匹趺谄菇明配(例如 @Autowired TransferServiceImpl ,只有transferService 在实例化bean之后才会解析)。

使用 @Bean 注释
© 手抄报圈