【发布时间】:2014-07-21 10:34:12
【问题描述】:
我需要一种机制来决定哪些组件应包含在应用程序上下文中。目前,我为此使用@Import。无论它是否有效,@Import 仅适用于 @Configuration。有其他选择吗?
编辑:
我使用@ComponentScan 注册spring beans 和组件。我有一个带有@Controller 注释的控制器的目录。出于测试目的,我不想注册所有控制器,而只是特定的。我可以使用类似的东西
目前我使用
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestConfiguration.class)
@Transactional
@TransactionConfiguration(defaultRollback = true){/*testings*/}
@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackageClasses = {AccountsRepository.class, LogoutService.class})
@Import({AccountCommandsController.class})
public class TestConfiguration {}
@Import 对我有用,但它仅用于配置,不适用于注册控制器组件。控制器或组件是否有等价物?
【问题讨论】:
-
个人资料?导入选择器?请更具体地说明您的需求。
-
有什么理由不在您的测试配置中声明特定的 bean?
-
我只知道 "@ComponentScan" 用于注册 bean,当然还有 "@Bean"。如何只声明特定的bean?
-
只需将
@Bean与您的控制器类一起使用。
标签: java spring spring-mvc