首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

[转]引用 MyEclipse中applicationContext.xml配置及常见有关问题

2012-11-13 
[转]引用 MyEclipse中applicationContext.xml配置及常见问题beans xmlnshttp://www.springframework.or

[转]引用 MyEclipse中applicationContext.xml配置及常见问题
<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">

?<!-- 会话工厂 -->
?<bean id="SessionFactory"
??value="classpath:hibernate.cfg.xml">
??</property>
?</bean>
?<!-- 数据层 -->
?<bean id="dao" ref="sessionFactory"></property>
?</bean>
?
?<!-- 业务层 -->
?<bean id="city" ref="dao"></property>
?</bean>
?
?<!-- 事务管理 -->
?<bean id="myHibTransactionManager"
??ref="sessionFactory" />
?</bean>
?
?<!-- 事务通知 -->
?<tx:advice id="txAdvice" transaction-manager="myHibTransactionManager">
??<tx:attributes>
???<tx:method name="*" propagation="REQUIRED" />
??</tx:attributes>
?</tx:advice>
?
?<!-- 添加事务 -->
?<aop:config>
??<aop:pointcut id="bizMethods" expression="execution(* com.service.*.*(..))" />
??<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
?</aop:config>
</beans>

以上是整个文件的具体配置,Spring使用 <tx:advice>和 <aop:config> 用来配置事务,具体如何配置你可以参考Spring文档。

(* com.service.*.*(..))中几个通配符的含义:

第一个 * —— 通配 任意返回值类型
第二个 * —— 通配 包com.service下的任意class
第三个 * —— 通配 包com.service下的任意class的任意方法
第四个 .. —— 通配 方法可以有0个或多个参数

?

此文件会时常出现 Class"org.springframework.orm.hibernate3.LocalSessionFactoryBean"not found和The prefix "tx" for element "tx:advice" is not bound两个问题。

第一个问题解决办法:

出现该问题是在为工程添加Spring包的时候没有添加Spring 2.0 Persistence Core?Libraries一项,导致缺少Spring的spring-hibernate3.jar包。

第二个问题解决办法:

出现该问题是定义申明AOP的时候,没有加载schema,只需要在<beans>中要加入“xmlns:aop”的命名申明,并在“xsi:schemaLocation”中指定aop配置的schema的地址。
配置文件如下:
<?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.xsd
???????????????????? http://www.springframework.org/schema/tx
???????????????????? http://www.springframework.org/schema/tx/spring-tx.xsd
???????????????????? http://www.springframework.org/schema/aop
???????????????????? http://www.springframework.org/schema/aop/spring-aop.xsd ">


问题到此解决完。

?

热点排行