- Получение доступа к значениям из файла свойств
- Использование аннотации
@Value - Абстракция среды Spring
Файл свойств по умолчанию, создаваемый Spring Boot, называется application.properties и находится в каталоге src/main/resources/ проекта. Свойства следуют одному и тому же синтаксису ключ=значение. При инициализации проекта файл по умолчанию пуст.
Пример файла application.properties:
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/data_base
db.username=postgres
db.password=8888Обычно файл
.propertiesне публикуют (скрытый, к примеру в .gitignore).Можно создать публичный файл c такимже префиксом, названием и окончанием
.origin, но без значений (ключ=). Он будет задавать структуру файла, которая нужна для запуска приложения.
Аннотация @Value -это предварительно определенная аннотация, используемая для чтения значений из любых файлов свойств в пути к классам проекта.
Чтобы получить доступ к значению одного свойства из файла свойств с помощью этой аннотации, указываем имя свойства в качестве аргумента:
@Value("${db.driver}")
private String DRIVER_DB; //org.postgresql.DriverДругим способом доступа к значениям, определенным в Spring Boot, является автоматическое подключение объекта Environment и вызов метода getProperty() для доступа к значению файла свойств.
Метод getProperty() принимает один обязательный параметр, представляющий собой строку, содержащую имя свойства, и возвращает значение этого свойства, если оно существует. Если свойство не существует, метод вернет значение null.
@SpringBootApplication
public class MvcCrudApplication implements EnvironmentAware {
private String DRIVER_DB;
@Override
public void setEnvironment(Environment environment) {
this.DRIVER_DB = environment.getProperty("db.driver");
//...
}
}Другой вариант — просто внедрить Environment в наш контроллер/компонент.
@SpringBootApplication
public class MvcCrudApplication {
@Autowired
private Environment environment;
public void setEnvironment() {
String DRIVER_DB = environment.getProperty("db.driver");
//...
}
}