Java Tutorial/Spring/ApplicationContext

Материал из Java эксперт
Перейти к: навигация, поиск

ApplicationContext And BeanFactory PostProcessor

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

   "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 <bean id="w" class="java.lang.String">
 </bean>

 <bean id="allBeansLister" class="AllBeansLister"/>

</beans></source>





ApplicationContext Aware

File: context.xml



   <source lang="java">

<?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
               http://www.springframework.org/schema/beans/spring-beans.xsd">
   
   <bean id="contextAware" class="ContextAwareDemo"/>

</beans></source>





ApplicationContext component scan

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:context="http://www.springframework.org/schema/context"
      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.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd
               http://www.springframework.org/schema/aop
               http://www.springframework.org/schema/aop/spring-aop.xsd">
   <aop:aspectj-autoproxy />
   <context:component-scan base-package="bean">
       <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
   </context:component-scan>

</beans></source>





Component Filter Assignable

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd">
   <context:component-scan base-package="bean">
       <context:include-filter type="annotation" expression="bean.Magic"/>
       <context:include-filter type="assignable" expression="bean.ruponentMarker"/>
       <context:include-filter type="aspectj" expression="* void bean.*Service*(..)"/>
   </context:component-scan>

</beans></source>





Filter By Annotation

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd">
   <context:component-scan base-package="bean">
       <context:include-filter type="annotation" expression="bean.Magic"/>
       <context:include-filter type="assignable" expression="bean.ruponentMarker"/>
       <context:include-filter type="aspectj" expression="* void bean.*Service*(..)"/>
   </context:component-scan>

</beans></source>





Implements ApplicationEvent Publisher Aware

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

   "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 <bean id="heartbeatTask" class="HeartbeatTask"/>
 
 <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
   <property name="timerTask"><ref local="heartbeatTask"/></property>
   <property name="period"><value>1000</value></property>
 </bean>
 <bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
   <property name="scheduledTimerTasks">
     <list>
       <ref local="scheduledTask"/>
     </list>
   </property>
 </bean>
 
 <bean id="heartbeatForwarder" class="HeartbeatForwarder"/>

</beans></source>





Implements ApplicationListener

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

   "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 <bean id="heartbeatTask" class="HeartbeatTask"/>
 
 <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
   <property name="timerTask"><ref local="heartbeatTask"/></property>
   <property name="period"><value>1000</value></property>
 </bean>
 <bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
   <property name="scheduledTimerTasks">
     <list>
       <ref local="scheduledTask"/>
     </list>
   </property>
 </bean>
 
 <bean id="heartbeatForwarder" class="HeartbeatForwarder"/>

</beans></source>





Search By Base Package

File: context.xml



   <source lang="java">

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd">
   <context:component-scan base-package="bean"/>

</beans></source>