Добрый день. Какую информацию в себе содержит интерфейс Environment? Я так понимаю это интерфейс для работы с properties? Откуда он берёт эти properties? И как его можно настроить таким образом, что-бы он работал с *.properties в моём приложении?
Интерфейс Environment представляет окружение, в котором приложение запущено.
Свойства (properties) - это не только содержимое файлов с соответствующим расширением, но и свойства JVM, переменные окружения операционной системы, параметры сервлета (если приложение запущено в соответствующем контейнере) и многое другое. Environment предоставляет к ним ко всем единообразный доступ. Что касается конкретно файлов, ответ зависит от того, как вы хотите эти свойства использовать, как предпочитаете конфигурировать ваше приложение и прочего. Например, местоположение файла свойств можно задать директивой в xml-конфигурации:
<context:property-placeholder location="classpath:application.properties" />
Тогда Spring будет искать файл application.properties в classpath и обеспечит возможность подстановки свойств в xml-конфигурации и аннотациях:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
</bean>
Можно задать расположение файла свойств с помощью аннотации, если вы предпочитаете конфигурацию в коде:
@Configuration
@PropertySource("classpath:application.properties")
public class AppConfig { ... }
Можно даже прямым конфигурированием контекста:
ApplicationContext context = new ClassPathXmlApplicationContext("context.xml");
context
.getEnvironment()
.getPropertySources()
.addFirst(new ResourcePropertySource(new ClassPathResource("application.properties")));
Кроме доступа к свойствам, Environment служит ещё для определение текущего профиля конфигурации и профиля по умолчанию.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости