我有一個屬性的類配置屬性爲空春季啓動
@ConfigurationProperties(prefix = ShiroProperties.SHIRO_PREFIX)
public class ShiroProperties {
public static final String SHIRO_PREFIX = "shiro";
private String urlLogin;
private String urlSuccessed;
和配置類
@Configuration
@EnableConfigurationProperties({ ShiroProperties.class })
public class ShiroConfig implements ApplicationContextAware {
ApplicationContext applicationContext;
@Autowired
private ShiroProperties shiroProperties ;
shiroProperties是空的,但我可以找到它在ShiroConfig值使用
applicationContext.getBean(ShiroProperties.class)
我的應用等級:
@SpringBootApplication
public class Bootstrap {
public static void main(String[] args) {
SpringApplication.run(Bootstrap.class, args);
}
}
奇怪的是,我可以在其他項目中使用類似的代碼運行成功,但是這個。
我不知道,但我覺得你應該加上'@ Component'爲'ShiroProperties'(按[春季啓動外部配置文件](HTTPS ://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html)) –
我看到之前,我試過了,但它沒有工作。無論如何,謝謝 – Dean
我發現這個奇怪問題的原因,如果添加由'@ Bean'註釋的'LifecycleBeanPostProcessor',那麼'@ Autowired'不起作用。 'LifecycleBeanPostProcessor'類來自shiro。 – Dean