spring2.0配置中的新标签应用

    技术2022-05-11  44

    1,<util:constant/> 取代了之前通过FieldRetrevingFactoryBean获取bean静态常量的FactoryBean!

    老的用法

    代码 <bean id="..." class="...">    <property name="isolation">      <bean id="java.sql.Connection.TRANSACTION_SERIALIZABLE"      class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" />    </property>  </bean>   <script type="text/javascript">render_code();</script>

    新用法

    代码 <bean id="..." class="...">      <property name="isolation">          <util:constant static-field="java.sql.Connection.TRANSACTION_SERIALIZABLE"/>      </property>  </bean>   <script type="text/javascript">render_code();</script>

    2,<util:property-path/> 取代了之前通过PropertyPathFactoryBean来指定属性路径获取属性值的FactoryBean!

    老的用法

    代码 <bean id="testBean" class="org.springframework.beans.TestBean" singleton="false">    <property name="age" value="10"/>    <property name="spouse">      <bean class="org.springframework.beans.TestBean">        <property name="age" value="11"/>      </bean>    </property>  </bean>    <bean id="testBean.age" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>   <script type="text/javascript">render_code();</script>

    新的用法

    代码 <bean id="testBean" class="org.springframework.beans.TestBean" singleton="false">    <property name="age" value="10"/>    <property name="spouse">      <bean class="org.springframework.beans.TestBean">        <property name="age" value="11"/>      </bean>    </property>  </bean>    <util:property-path id="name" path="testBean.age"/>   <script type="text/javascript">render_code();</script>

    3,<util:properties/> 替代了之前通过PropertiesFactoryBean来获取properties配制文件数据的FactoryBean!

    老用法

    代码 <bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">    <property name="location" value="classpath:com/foo/jdbc-production.properties"/>  </bean>   <script type="text/javascript">render_code();</script>

    新用法

    代码 <util:properties id="jdbcConfiguration" location="classpath:com/foo/jdbc-production.properties"/>   <script type="text/javascript">render_code();</script>

    4,<util:list/> 替代了之前通过<list><value></value></list>的内置配制方式,让多个bean调用同一list成为可能!

    老的用法

    代码 <bean id="emails" class="org.springframework.beans.factory.config.ListFactoryBean">    <property name="sourceList">        <list>          <value>pechorin@hero.org</value>          <value>raskolnikov@slums.org</value>          <value>stavrogin@gov.org</value>          <value>porfiry@gov.org</value>        </list>    </property>  </bean>   <script type="text/javascript">render_code();</script>

    新的用法

    代码 <util:list id="emails" list-class="java.util.LinkedList">      <value>pechorin@hero.org</value>      <value>raskolnikov@slums.org</value>      <value>stavrogin@gov.org</value>      <value>porfiry@gov.org</value>  </util:list>   <script type="text/javascript">render_code();</script>

    5,<util:map/> 替代了之前适用<map><entry key=""><value></value></entry></map>的配置方式,让多个bean调用同一map成为可能!

    老的用法

    代码 <bean id="emails" class="org.springframework.beans.factory.config.MapFactoryBean">    <property name="sourceMap">        <map>          <entry key="pechorin" value="pechorin@hero.org"/>          <entry key="raskolnikov" value="raskolnikov@slums.org"/>          <entry key="stavrogin" value="stavrogin@gov.org"/>          <entry key="porfiry" value="porfiry@gov.org"/>        </list>    </property>  </bean>   <script type="text/javascript">render_code();</script>

    新的用法

    代码 <util:map id="emails" map-class="java.util.TreeMap">      <entry key="pechorin" value="pechorin@hero.org"/>      <entry key="raskolnikov" value="raskolnikov@slums.org"/>      <entry key="stavrogin" value="stavrogin@gov.org"/>      <entry key="porfiry" value="porfiry@gov.org"/>  </util:map>   <script type="text/javascript">render_code();</script>

    6,<util:set/> 替代了之前适用<set><value></value></set>的配置方式, 让多个bean调用同一set成为可能!

    老的用法

    代码 <bean id="emails" class="org.springframework.beans.factory.config.SetFactoryBean">    <property name="sourceSet">        <set>          <value>pechorin@hero.org</value>          <value>raskolnikov@slums.org</value>          <value>stavrogin@gov.org</value>          <value>porfiry@gov.org</value>        </set>    </property>  </bean>   <script type="text/javascript">render_code();</script>

    新的用法

    代码 <util:set id="emails" set-class="java.util.TreeSet">      <value>pechorin@hero.org</value>      <value>raskolnikov@slums.org</value>      <value>stavrogin@gov.org</value>      <value>porfiry@gov.org</value>  </util:set>   <script type="text/javascript">render_code();</script>

    7,<jee:jndi-lookup/> 替代了之前使用JndiObjectFactoryBean指定配制获取容器JNDI资源的FactoryBean!

    老的用法

    代码 <bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">      <property name="jndiName" value="jdbc/MyDataSource"/>      <property name="cache" value="true"/>      <property name="resourceRef" value="true"/>      <property name="lookupOnStartup" value="false"/>      <property name="expectedType" value="com.myapp.DefaultFoo"/>      <property name="proxyInterface" value="com.myapp.Foo"/>  </bean>   <script type="text/javascript">render_code();</script>

    新用法

    代码 <jee:jndi-lookup id="simple"               jndi-name="jdbc/MyDataSource"               cache="true"               resource-ref="true"               lookup-on-startup="false"               expected-type="com.myapp.DefaultFoo"               proxy-interface="com.myapp.Foo"/>   <script type="text/javascript">render_code();</script>

    8,<jee:local-slsb/> 替代了之前使用LocalStatelessSessionProxyFactoryBean来获取无状态会话BEAN的FactoryBean!

    老的用法

    代码 <bean id="complexRemoteEjb"        class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">    <property name="jndiName" value="ejb/MyRemoteBean"/>    <property name="businessInterface" value="com.foo.service.RentalService"/>    <property name="cacheHome" value="true"/>    <property name="lookupHomeOnStartup" value="true"/>    <property name="resourceRef" value="true"/>    <property name="homeInterface" value="com.foo.service.RentalService"/>    <property name="refreshHomeOnConnectFailure" value="true"/>  </bean>   <script type="text/javascript">render_code();</script>

    新的用法

    代码 <jee:remote-slsb id="complexRemoteEjb"      jndi-name="ejb/MyRemoteBean"      business-interface="com.foo.service.RentalService"      cache-home="true"      lookup-home-on-startup="true"      resource-ref="true"      home-interface="com.foo.service.RentalService"      refresh-home-on-connect-failure="tr  

    最新回复(0)