Обзор контейнера IoC Spring, создание контейнера

Путь или пути расположения, предоставленные конструктору ApplicationContext, представляют собой строки ресурсов, которые позволяют контейнеру загружать метаданные конфигурации из различных внешних ресурсов, таких как локальная файловая система, Java CLASSPATH и т. д.

Java

ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");

Kotlin

val context = ClassPathXmlApplicationContext("services.xml", "daos.xml")

После того, как вы узнаете о контейнере IoC Spring, вам может понадобиться больше узнать об абстракции ресурсов Spring, которая предоставляет удобный механизм для чтения InputStream из местоположений, определенных в синтаксисе URI. В частности, пути к ресурсам используются для создания контекстов приложений.

В следующем примере показан файл конфигурации объектов уровня сервиса (services.xml):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- services -->

    <bean id="petStore" class="org.springframework.samples.jpetstore.services.PetStoreServiceImpl">
        <property name="accountDao" ref="accountDao"/>
        <property name="itemDao" ref="itemDao"/>
        <!-- дополнительные соавторы и конфигурация для этого bean находятся здесь  -->
    </bean>

    <!-- еще определения bean для сервисов здесь -->

</beans>

В следующем примере показан файл объектов доступа к данным daos.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="accountDao"
        class="org.springframework.samples.jpetstore.dao.jpa.JpaAccountDao">
        <!-- дополнительные соавторы и конфигурация для этого компонента находятся здесь -->
    </bean>

    <bean id="itemDao" class="org.springframework.samples.jpetstore.dao.jpa.JpaItemDao">
        <!-- дополнительные соавторы и конфигурация для этого компонента находятся здесь -->
    </bean>

    <!-- больше определений bean для объектов доступа к данным здесь -->

</beans>

В предыдущем примере сервисный уровень состоит из класса PetStoreServiceImpl и двух объектов доступа к данным типов JpaAccountDao и JpaItemDao (на основе стандарта JPA Object-Relational Mapping). Элемент name свойства ссылается на имя свойства JavaBean, а элемент ref ссылается на имя другого определения bean-компонента. Эта связь между элементами id и ref выражает зависимость между взаимодействующими объектами.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки