Ⅰ spring全註解的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"
xmlns:aop=" http://www.springframework.org/schema/aop"
xmlns:tx=" http://www.springframework.org/schema/tx"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<!-- 聲名式事務①:添加常用命名空間聲明 --><!-- ***********************配置和SessionFactory************************ --> <bean id="data"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=epet">
</property>
<property name="username" value="sa"></property>
<property name="password" value=""></property>
</bean>
<bean id="sf"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="data"></ref>
</property>
<property name="mappingResources">
<list>
<value>entity/PetInfo.hbm.xml</value>
<value>entity/PetDiary.hbm.xml</value>
<value>entity/PetType.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<!-- 配置<cache usage="read-only"/>後,配置Hibernate緩存機制屬性 -->
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.HashtableCacheProvider
</prop>
</props>
</property>
</bean>
<!-- ***************************配置各層依賴注入關系******************************** -->
<!-- Dao層依賴於SessionFactory,SessionFactory注入Dao層 -->
<bean id="petInfoDao" class=".PetInfoDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<bean id="petDiaryDao" class=".PetDiaryDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<bean id="petTypeDao" class=".PetTypeDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<!-- Dao層依賴於SessionFactory,SessionFactory注入Dao層 -->
<!-- Biz層依賴於Dao層,Dao層注入Biz層 -->
<bean id="petInfoBiz" class="biz.PetInfoBizImpl" >
<property name="petInfoDao">
<ref bean="petInfoDao" />
</property>
</bean>
<bean id="petDiaryBiz" class="biz.PetDiaryBizImpl">
<property name="petDiaryDao" ref="petDiaryDao" />
</bean>
<bean id="petTypeBiz" class="biz.PetTypeBizImpl">
<property name="petTypeDao" ref="petTypeDao" />
</bean>
<!-- Biz層依賴於Dao層,Dao層注入Biz層 -->
<!-- ③配置Action依賴於Biz層,Biz層注入Action -->
<bean name="/PetAction" class="web.action.PetAction">
<!-- Biz注入Action -->
<property name="petInfoBiz" ref="petInfoBiz" />
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petTypeBiz" ref="petTypeBiz"></property>
</bean>
<bean name="/DiaryAction" class="web.action.DiaryAction">
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>
<bean name="/DoLogAction" class="web.action.DoLogAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>
<bean name="/DoTrainingAction" class="web.action.DoTrainingAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>
<bean name="/IndexAction" class="web.action.IndexAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petTypeBiz" ref="petTypeBiz"></property>
</bean>
<!-- ③配置Action依賴於Biz層,Biz層注入Action -->
<!-- ****************************配置聲明式事務************************************ --><!-- 聲名式事務②:定義事務管理器 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sf" />
</bean><!-- 聲名式事務③:定義事務通知,聲明事務規則 -->
<tx:advice id="txAdvice" transaction-manager="myHibTransactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="do.*" propagation="REQUIRED" />
<tx:method name="*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice><aop:config>
<!-- 聲名式事務④:定義切面,指定哪些方法應用以上規則 -->
<aop:pointcut id="bizMethods" expression="execution(* biz.*.*(..))" />
<!-- 聲名式事務⑤:將事務通知和切面組合 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
</aop:config><!-- ******************************配置AOP方面代碼******************************** --><!-- AOP實現: ①定義原Bean(實現類)
<bean id="petInfoBizTarget" class="biz.PetInfoBizImpl">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean>-->
<!-- AOP實現: ②定義通知 -->
<bean id="lotteryAdvice" class="aop.LotteryAdvice">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean>
<bean id="diaryAdvice" class="aop.DiaryAdvice">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean> <!-- AOP實現: ③定義代理類 -->
<bean id="petInfoBizProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<!-- 被代理的介面 -->
<property name="proxyInterfaces">
<list>
<value>biz.PetInfoBiz</value>
<value>biz.PetDiaryBiz</value>
</list>
</property>
<!-- 織入的通知列表 -->
<property name="interceptorNames">
<list>
<value>lotteryAdvice</value>
<value>diaryAdvice</value>
</list>
</property>
<!-- 被代理的原Bean -->
<property name="target">
<list>
<ref bean="petInfoBiz"/>
<ref bean="petDiaryBiz"/>
</list>
</property>
</bean></beans>
Ⅱ springxml文件怎麼配置
對於大多數的應用,從表現層的action,到持久層的DataSource,都被Spring 作為
bean 管理。如果這些bean 被配置在同一個文件中,閱讀及維護該配置文件將是一件非
常有挑戰的事情。
因此, Spring 建議:將一個大的配置文件分解成多個小的配置文件,使每個配置文
件僅僅管理功能近似於bean; 這樣不僅可以分散配置文件,降低修改配置文件的風險,
而且更符合"分而治之"的軟體工程原理。
多個配置文件最終需要匯總, ApplicationContext提供如下方式來匯總多個配置文件:
.使用App1icationContext 載入多個配置文件。
• Web 應用啟動時載入多個配置文件。
• XML 配置文件中導入其他配置。
1 ApplicationContext 載入多個配置文件
ApplicatonContext 的常用實現類有如下兩個:
• ClassPathXm1 ApplicationContext 。
• 。
這兩個類都可以用來載入多個配置文件,它們的構造器都可以接收一個數組,並在
該數組中存放多個配置文件。 可採用如下代碼載入多個
配置文件:
Ⅲ java問題:我想要利用spring 獲得xml中全部的bean,讓它返回一個數組。spring我沒學完,不知道怎麼做
用循環唄,把所有bean的名字寫到一個String[] beans里,對這個數組進行解析,得到bean的名字,然後
用getBean(beans[i])