宣告 Bean
要声明 bean,只需使用 @Bean
注释注释方法或使用 @Component
注释注释类(注释 @Service
,@Repository
,@Controller
也可以使用)。
当 JavaConfig 遇到这样的方法时,它将执行该方法并将返回值注册为 BeanFactory 中的 bean。默认情况下,bean 名称将是方法名称的名称。
我们可以使用以下三种方法之一创建 bean:
-
使用基于 Java 的配置 :在配置文件中,我们需要使用 @bean 注释声明 bean
@Configuration public class AppConfig { @Bean public TransferService transferService() { return new TransferServiceImpl(); } }
-
使用基于 XML 的配置 :对于基于 XML 的配置,我们需要在应用程序配置 XML 中创建 declare bean,即
<beans> <bean name="transferService" class="com.acme.TransferServiceImpl"/> </beans>
-
注释驱动的组件 :对于注释驱动的组件,我们需要将 @Component 注释添加到我们要声明为 bean 的类中。
@Component("transferService") public class TransferServiceImpl implements TransferService { ... }
现在所有三个名为 transferService
的豆都可以在 BeanFactory
或 ApplicationContext
中找到。