问题解决了,导入包还不行,还得导入包的资源文件
在我感觉,事务的增强就是相当于给游戏人物穿一身装备,扩展能力.
原有的类做不到的功能,通过增强可以实现
老师是将dataSource这个连接池配置在applicationcontext.xml中的。
main中调用transferMoney <- 这个方法没有被spring 注册。
StudentDao需要从application 中getBean出来
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext3.xml]:
没办法创建这个bean: dataSource,有没有可能是这个写错了?要不就是c3p0的包没导入,重点看Caused by里面的原因,一个个解决
跟你架包没关系,要是版本太新选个稳定的4.3版本,也不是myeclipse不识别写错了
我自己弄错了.....
若目标对象实现了若干接口,spring使用JDK的java.lang.reflect.Proxy类代理。
优点:因为有接口,所以使系统更加松耦合
缺点:为每一个目标类创建接口
若目标对象没有实现任何接口,spring使用CGLIB库生成目标对象的子类。
优点:因为代理类与目标类是继承关系,所以不需要有接口的存在。
缺点:因为没有使用接口,所以系统的耦合性没有使用JDK的动态代理好。
xmlns:tx="http://www.springframework.org/schema/tx"
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
<tx:advice id="txAdvice" transaction-manager="transactionManager">这个事物advice的管理者为transactionManager,你从配置文件中应该能够找到一个ID为transactionManager的bean,而这个建议中规定了transfer方法的传输方式为REQUIRED。
难道不是应该贴上配置文件吗......
请问一下源码在哪里下载?
因为老师用的是myeclipse
在你的配置文件里是不是没有打开 注解
<tx:annotation-driven transaction-manager="transactionManager"/>
后半部的参数是配置的事物管理器。
1,用得多,隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。
2,Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。
如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。
所以照理说要所有异常都回滚应该配置roll-back
意思很明显啊 你这个事务通知标签中没有transaction-manager这个属性。你把它的schema加上,看有没有提示,一般有提示,就不会出错。
可以组合使用
Alt+/是MyEclipse里面才有的吧?
<aop:advisor advice-ref="txAdvice" pointcut="pointcut1" />
应该为:
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1" />
eclipse自带的功能:web-INF目录下的jar包,会被自动引入到web app librarys类库里面。
web-INF目录下如果没有东西,这个类库不会生成。
如果有,就会自动创建这个类库。
你说的要add to build path,应该不是web project ,web project才有这功能。
你说的那个应该是一个java application,它没有web app librarys 这个类库的。
就是不是spring官方推出来的,而是其他开发者或开发机构整合出来的
是不是版本不对