Теперь значения, которые вы пытаетесь загрузить, могут быть статическими или динамическими (из БД).
Если это статическое значение
@Configuration
public class MyConfig {
@Bean
public Map<String, String> myVal(){
Map<String, String> map = new HashMap<String, String>();
map.put("Sample", "Value");
}
}
.Другие классы компонентов, предлагаемые @ Gro
@Autowired
private Map<String, String> myData;
Для динамических данных
С XML
<bean class="com.example.DbConfigLoader" init-method="initMethod">
С аннотацией
@Configuration
public class MyConfig {
@Bean(initMethod="initMethod")
public DbConfigLoader dbConfigLoader() {
return new DbConfigLoader();
}
}
public class DbConfigLoader {
@Autowired
private DbConfigRepository repository;
private DbConfig dbConfig;
@PostConstruct // Optional if you dont want to add initMethod in Bean Defination
public void initMethod(){
// Logic for your dynamic Data load
dbConfig = repository.findOne(1L);
}
public DbConfig getDbConfig() {
return dbConfig;
}
}
Ваш боб готов к использованию в любых других классах.