我创建了一个自定义API jar库,我想提供一些常用的服务。
但是我想在我的实施项目中选择使用和自动装配其中一些服务。它们不应该自动自动装配。
如何明确指出Spring
包含以下StatsLogger
?
API jar:
package my.spring.config
//@Component
public class MyStatsLogger {
@Autowired
private MyService someOtherServiceForLogging;
@Scheduled(fixedDelay = 60000)
public void log() {
//logging
}
}
IMPL项目:
@Configuration
@EnableScheduling
public class AppConfig {
}
答案 0 :(得分:1)
只需将服务添加到您的上下文中:
@Configuration
@EnableScheduling
public class AppConfig {
@Bean
public MyStatsLogger myStatsLogger() {
return new MyStatsLogger();
}
}
答案 1 :(得分:1)
由于MyStatsLogger
有一个默认构造函数,所以您只需要:
@Configuration
@EnableScheduling
public class AppConfig {
@Bean
public MyStatsLogger myStatsLogger() {
return new MyStatsLogger();
}
}
如果声明了MyService
类型的bean,那么MyStatsLogger
中的MyService
依赖项将自动由Spring连接。