2.考虑以下来自 @Configuration类的代码,并应用 Spring的默认行为,选择正确答案 (选择一项@Configuration public class MyConfig [ OBean public AccountRepository accountRepository0freturn new JdbcAccountRepository0; @Bean public TransferService transferService(!TransferServicelmpl service = new TransferServicelmpl0;service.setAccountRepository(accountRepository0);return service; OBean public AccountService accountService(freturn new AccountServicelmpl(accountRepository0); A没有AccountRepository bean会被实例化,程序启动会报错 达内教 B.三个AccountRepository bean将被实例化,因为 accountRepository0方法将被调用三次 C.一个AccountRepository bean将被实例化,因为默认的作用域是 Singleton D.一个AccountRepository bean将被实例化,因为accountRepository0被调用两次
时间: 2024-04-06 10:32:39 浏览: 102
Spring注解驱动笔记.md
D. 一个 AccountRepository bean 将被实例化,因为 accountRepository0 被调用两次。在这个配置类中,我们定义了一个名为 accountRepository0 的 @Bean 方法,它返回一个 JdbcAccountRepository 类型的 bean。我们还定义了一个名为 transferService 的 @Bean 方法和一个名为 accountService 的 @Bean 方法,它们都依赖于 accountRepository0 bean。因此,当我们使用 Spring 容器创建 transferService 和 accountService bean 时,Spring 会自动调用 accountRepository0 方法来创建 accountRepository0 bean。由于 Spring 默认使用单例模式管理 bean,因此 accountRepository0 方法只会被调用一次,从而创建一个 AccountRepository bean。因此,选项 A、B、C 都是错误的。
阅读全文