Каковы преимущества файлов Spring Multi-Configuration?
Разделение файлов конфигурации в соответствии с целью и функцией может улучшить читабельность и обслуживание файлов конфигурации, таких как отдельные конфигурации, с небольшим количеством изменений, таких как управление транзакциями конфигурации и источники данных и бобы конфигурации.
Несколько способов считывает файлы конфигурации Spring:
1. Читать с использованием метода ApplicationContext, предоставленного самой пружиной
В программах Java вы можете использовать ApplicationContext два класса реализации ClassPathxMlapplicationContext и файловая установка по считыванию нескольких файлов конфигурации, и их конструкторы могут получать массив файлов конфигурации.
Например: ApplicationContext ctx = new classpathxmlapplicationcontext (configlocations); Аналогично способу создания ApplicationContext с использованием файлов файлов файлов файлов файлов файлов файлов файлов файлов файлов файлов: ClassPathXmlApplicationContext Поиск файлов конфигурации по пути ClassPath: FileSTemxMlApplicationContext Peorkes Files на конфигурации в текущем пути.
Метод 1: Сохранить объект ApplicationContext во время инициализации
Код:
ApplicationContext ac = new FilesystemxmlapplicationContext ("ApplicationContext.xml"); ac.getbean ("beanid"); иллюстрировать:
Этот метод подходит для автономных приложений, используя Spring Framework, где программы требуют, чтобы пружина была вручную инициализирована с помощью файлов конфигурации.
Метод 2: Получить объект ApplicationContext через класс инструментов, предоставленный Spring
Код:
Импорт org.springframework.web.context.support.webapplicationContextutils; ApplicationContext AC1 = webApplicationContextUtils.getRequiredWebApplicationContext (ServletContext SC) ApplicationContext AC2 = WebApplicationContextUtils.getWebPplicationContext (ServletContext SC) AC1.getBean ("beanid"); ac2.getbean ("beanid"); иллюстрировать:
Этот метод подходит для систем B/S, используя Spring Framework, получая объект ApplicationContext через объект ServletContext, а затем получение необходимого экземпляра класса через него.
Разница между двумя вышеупомянутыми методами инструмента заключается в том, что первое бросает исключение, когда сбоя сбоя, а последний возвращает NULL.
Метод 3: Унаследован от абстрактного класса ApplicationObjectSupport
иллюстрировать:
Абстрактный класс ApplicationObjectSupport предоставляет метод getApplicationContext (), который может легко получить ApplicationContext. Когда пружина инициализируется, объект ApplicationContext будет вводится с помощью метода SetApplicationContext (ApplicationContext Context) абстрактного класса.
Метод 4: Унаследован от абстрактного класса WebPplicationObjectSupport
иллюстрировать:
Подобно приведенному выше методу, вызовите GetWebApplicationContext (), чтобы получить WebApplicationContext
Метод 5: Реализация интерфейса ApplicationContextaware
иллюстрировать:
Реализуйте метод SetApplicationContext (Context ApplicationContext) этого интерфейса и сохраните объект ApplicationContext. Когда пружина инициализируется, объект ApplicationContext вводится через этот метод.
Приведенные выше методы подходят для различных ситуаций, выберите соответствующий метод в соответствии с конкретной ситуацией.
2. Загрузка при использовании запуска веб -проекта
Какие файлы конфигурации автоматически загружаются в web.xml:
<context-param> <param-name> contextConfiglocation </param-name> <param-value> /web-inf/spring/spring-core.xml </param-value> </context-param> <servlet> <servlet-name> springmvc </servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <init-param> <param-name> contextconfiglocation </param-ame> <param-value>/web- Inf/Spring/Spring-servlet.xml </param-value> </init-param> <Load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
Когда есть несколько чисел, вы можете использовать * для их замены.
<servlet> <servlet-name> app </servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <context-param> <param-name> contextconfiglocation </param-name> <param-value> /web-inf/applicationcontext*.xml,/web-inf/user_spring.xml </param-value> </context-param> <load-on-startup> 1 </load-on-startup> </servlet>
3. Импортировать другие файлы конфигурации в файл конфигурации XML
Настройте службу приложения для загрузки в /веб-inf/applicationcontext.xml. Вы можете использовать импорт для импорта других файлов конфигурации в ApplicationContext.xml.
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: context = "http://www.springframework.org/schema/context" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.spramework.org/schema/beans. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-3.2.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-3.2.2.x. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"> iimport resource = "xml"/> <import resource = "Spring-security.xml"/> <import.maptlet.xml "/> <import resource =" resource = "spring-hibernate.xml"/> <import resource = "Spring-Redis.xml"/> <Импорт Resource = "Spring-Redis.xml"/> <Beans>