robie to ..Wiosna 3,1 Środowisko nie działa z plikami własności użytkowników
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(context);
xmlReader
.loadBeanDefinitions(new ClassPathResource("SpringConfig.xml"));
PropertySourcesPlaceholderConfigurer propertyHolder = new PropertySourcesPlaceholderConfigurer();
propertyHolder.setLocation(new ClassPathResource(
"SpringConfig.properties"));
context.addBeanFactoryPostProcessor(propertyHolder);
......
context.refresh();
Teraz w moich plikach @Configuration właściwości obecny w moim SpringConfig.properties nie są coraz podniósł jeśli mogę to zrobić ...
@Autowired
private Environment env
.....
env.getProperty("my.property")
Ale pojawia że nieruchomość, jeśli mogę użyć
@Value("${my.property}")
private String myProperty;
próbowałem nawet dodając kilka więcej linii takich jak to, ale bezużyteczne.
ConfigurableEnvironment env = new StandardEnvironment();
propertyHolder.setEnvironment(env);
Czy ktoś wie, dlaczego moje właściwości nie zostały załadowane do środowiska? Dzięki.
Przeszedłem przez MutuablePropertySources API, ale to było naprawdę dziwne, czuję Wiosna hasn sprawił, że obsługa nieruchomości była łatwa i piękna. Ale mówisz, że jest mało prawdopodobne, że chcę to zrobić, dlaczego nie? Jeśli to działa, mogę spróbować. Powód Myślałem, że moje właściwości będą w środowisku po przeczytaniu tego artykułu .. [http://www.javaworld.com/community/node/8309](http://www.javaworld.com/community/node/8309) – endless
@ user1364959 sprawdź http://blog.springsource.org/2011/02/15/spring-3-1-m1-unified-property-management/ - PS Mówię "mało prawdopodobne", ponieważ samo dekorowanie klasy Conifuguration za pomocą '@PropertySource (" classpath: SpringConfig.properties ")' powinno wystarczyć do dodania źródła właściwości do środowiska. –
Co do PropertySourcesPlaceholderConfigurer - po zarejestrowaniu w kontenerze czegoś takiego jak '@Bean() public static PropertySourcesPlaceholderConfigurer() {..}' automatycznie pobierze źródła właściwości z kontekstu aplikacji (ponieważ implementuje EnvironmentAware). Więc będzie w stanie zastąpić symbole zastępcze w definicjach fasoli. –