Spring, autowire @Value из базы данных - PullRequest
0 голосов
/ 11 апреля 2010

Я использую файл свойств для хранения некоторых свойств конфигурации, доступ к которым осуществляется следующим образом:

@Value("#{configuration.path_file}")
private String pathFile;

Можно ли (с помощью Spring 3) использовать такую ​​же аннотацию @Value, но загружать свойства из базы данных вместо файла?

Ответы [ 2 ]

2 голосов
/ 12 апреля 2010

Предполагается, что в вашей базе данных хранятся пары ключ / значение:

Определите новый бин "applicationProperties" - псевдо-код следует ...

public class ApplicationProperties {
    @AutoWired
    private DataSource datasource;

    public getPropertyValue(String key) {
        // transact on your datasource here to fetch value for key
        // SNIPPED
    }
}

Внедрите этот bean-компонент, если это требуется в вашем приложении. Если у вас уже есть слой dao / service, вы просто воспользуетесь этим.

1 голос
/ 11 апреля 2010

Хотя я и не использовал Spring 3, я бы предположил, что вы можете, если вы создадите bean-компонент, который считывает свойства из базы данных и выставляет их с помощью геттеров.

...