我有这个组件类,如果属性 accounting.generalServiceConfig.accountPageSize 在application.properties中,那么应该将日志条目写入日志文件。 但是这个类在底部是不起作用的。 如果我在方法 printAccountPageSize 中添加注释 @Bean 并返回,例如新的Object()而不是它的工作原理。 是否有可能让它与类一起工作,就像它在底部一样?
@Component
public class ConditionalPropertyChecker extends AbstractService {
protected final Logger logger = LoggerFactory.getLogger(getClass());
public ConditionalPropertyChecker() {
}
@ConditionalOnProperty(name = "accounting.generalServiceConfig.accountPageSize")
public void printAccountPageSize() {
logger
.info("the accountPageSize is set in application.properties");
}
}
答案 0 :(得分:1)
@ConditionalOnProperty用于生成@Bean的@Configuration类。
你可以这样做:
@Component
public class ConditionalPropertyChecker extends AbstractService {
protected final Logger logger = LoggerFactory.getLogger(getClass());
public ConditionalPropertyChecker(@Value("${accounting.generalServiceConfig.accountPageSize}") Integer pageSize) {
if (pageSize) {
logger.info("the accountPageSize is set in application.properties");
}
}
}