- 浏览: 1251225 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
SpringRunner
地址:http://code.google.com/p/gienah-testing/
gienah-testing项目主要包含2个Junit4的运行类: springrunner和springtransactionalrunner 。springrunner负责访问主要项目特性的引擎:bean注入。Springtransactionalrunner继承于springrunner ,允许有标记的事务测试在测试完成时将回滚到测试发生前。
使用这些类,你需要在您的测试类中标记JUnit 4的@ runwith。此外,您必须使用gienah-testing的@Configuration标记来指定Spring的配置文件。看看下面的例子:
- @RunWith(value = SpringRunner.class)
- @Configuration(locations = {"resources/spring/spring-beans.xml"})
- public class TestUserService {
- @Test public void someTestMethod() {
- ...
- }
- ...
- }
@RunWith(value = SpringRunner.class) @Configuration(locations = {"resources/spring/spring-beans.xml"}) public class TestUserService { @Test public void someTestMethod() { ... } ... }
我们现在为业务类写一个测试类,请留意@Configuration标记,你可以使用locations属性来指定spring配置文件的路径,将会获取到spring的上下文.还可以以其它方式来使用@Configuration标记, 但这些将经过审查后再补上。
现在,将通过配置运行类来获取变量,请留意下面的例子:
- @RunWith(value = SpringRunner.class)
- @Configuration(locations = {"resources/spring/spring-beans.xml"})
- public class TestUserService {
- @Dependency
- private SomeBean someBean;
- @Test
- public void someTestMethod() {
- Assert.assertNotNull(this.someBean);
- }
- }
@RunWith(value = SpringRunner.class) @Configuration(locations = {"resources/spring/spring-beans.xml"}) public class TestUserService { @Dependency private SomeBean someBean; @Test public void someTestMethod() { Assert.assertNotNull(this.someBean); } }
使用@Dependency标记可以使我们有效地使配置文件中bean的”somebean”注入到我们的测试类中,因此字段将会以实例的方式出现在我们的代码中,那么,运行类将查找spring上下文中相对应的指定的bean名称的bean,如果你想装载一个bean使用不同的名称,你可以利用@Dependency标记来为它指定”bean”属性.
另外介绍的特性就是允许使用测试标记在测试完成后使事务自动回滚到测试前。例如,下面的示例:
- @RunWith(value = SpringRunner.class)
- @Configuration(locations = {"resources/spring/spring-beans.xml"})
- public class TestUserService {
- @Test
- @Transactional
- public void someTestMethod() {
- // doing some database stuff here...
- }
- @Test
- public void someOtherTestMethod() {
- // doing some database stuff here...
- }
- }
@RunWith(value = SpringRunner.class) @Configuration(locations = {"resources/spring/spring-beans.xml"}) public class TestUserService { @Test @Transactional public void someTestMethod() { // doing some database stuff here... } @Test public void someOtherTestMethod() { // doing some database stuff here... } }
"someTestMethod"方法以事务的方式执行,而"someOtherTestMethod"方法则不会。当"someTestMethod"方法执行完后,事务将使数据库状态回滚到未执行前,你也可以使全部测试类都标记@Transactional属性,所有的测试方法都将在事务中执行
配置spring上下文
在前面的话题中,你在执行中见到@Configuration标记。这个标记有三个属性:locations, provider和loader,下面让我们看看如何去使用它们:
•locations(可选择):使用这个属性你可以使用指定的spring配置文件来生成spring上下文
•provider(可选择):使用这个属性允许你指定一个类同样可以使用@Configuration标记去指定locations的属性,这里允许一个特许的locations说明在一个测试类套件中
•loader(可选择):这个属性允许你去指定IcontextLoader的实现并去使用它构成spring上下文.一般情况使用默认配置已经足够.
@Configuration标记至少指定locations或者provider其中一个属性,如果没有它们其中的一个,将会使JUnit 4显示出一个error.让我们去看看提供的属性在执行中的实例:
- @RunWith(value = SpringRunner.class)
- @Configuration(locations = {"resources/spring/spring-beans.xml"})
- public class Test1 {
- ...
- }
- @RunWith(value = SpringRunner.class)
- @Configuration(provider = Test1.class)
- public class Test2 {
- ...
- }
- @RunWith(value = SpringRunner.class)
- @Configuration(provider = Test2.class)
- public class Test3 {
- ...
- }
@RunWith(value = SpringRunner.class) @Configuration(locations = {"resources/spring/spring-beans.xml"}) public class Test1 { ... } @RunWith(value = SpringRunner.class) @Configuration(provider = Test1.class) public class Test2 { ... } @RunWith(value = SpringRunner.class) @Configuration(provider = Test2.class) public class Test3 { ... }
注意怎样去构造est3从Test2到Test1经过的流程.这个方式(通过路径获取获取配置)是不平常和不受欢迎的,但我想说明一下这个表现.
访问spring上下文
最后,也可以直接获取spring上下文,如果这样,你应该在你的测试中创建一个局部变量和写上一个@Context标记:
- @RunWith(value = SpringRunner.class)
- @Configuration(locations = {"resources/spring/spring-beans.xml"})
- public class TestUserService {
- @Context
- private ConfigurableApplicationContext context;
- @Test
- public void someTestMethod() {
- SomeBean someBean = context.getBean("someBean");
- ...
- }
- }
@RunWith(value = SpringRunner.class) @Configuration(locations = {"resources/spring/spring-beans.xml"}) public class TestUserService { @Context private ConfigurableApplicationContext context; @Test public void someTestMethod() { SomeBean someBean = context.getBean("someBean"); ... } }
当这样做时,运行类将可以使spring上下文将会自动地注入到你的测试类中,然后你也可以访问它.
配置文件解释
EO.2版本改变了单元测试类的配置,以springXML配置文件的方式填写.因此, 该项目引进一个新的标签:gienah.
在gienah架构下使用标签,你必须在你的springXML配置文件的头部导入声明,
The emboldened text in the XML sample below represents the additions you must add to get access to the tags contained in the gienah namespaces.
- <?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:gienah="http://www.springframework.org/schema/gienah"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
- http://www.springframework.org/schema/gienah
- http://www.springframework.org/schema/gienah/gienah.xsd">
- ...
- </beans>
- <gienah:test />
<?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:gienah="http://www.springframework.org/schema/gienah" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/gienah http://www.springframework.org/schema/gienah/gienah.xsd"> ... </beans> <gienah:test />
标签
这个标签在springXML配置文件中定义一个测试类,看下面的例子去了解通常的情况:
- <gienah:test class="org.myproject.test.TestSample1" transactional="true">
- <gienah:dependency property="someBean1" bean="someBean" />
- <gienah:context property="applicationContext" />
- <gienah:method name="testSomething" transactional="true" ignore="false" />
- </gienah:test>
<gienah:test class="org.myproject.test.TestSample1" transactional="true"> <gienah:dependency property="someBean1" bean="someBean" /> <gienah:context property="applicationContext" /> <gienah:method name="testSomething" transactional="true" ignore="false" /> </gienah:test>
This approach is equals to mark the someBean1 class attribute with the @Dependency annotation. Latest, using the <gienah:context /> tag you can inject the application context to the Test class.
上述实例在配置文件中把一个测试类命名为TestSample1,它指定了在"testSomething"方法中将支持事务,而其它方法即不运行在同一个事务中(查看主事务属性和<gienah:method />标签),另一个有趣的事情是使用<gienah:dependency />可以定义要注入的bean,这样基本上等同于使用@Dependency标记来标注someBean1类属性,最后,使用<gienah:context />标签你可以在测试类中注入应用上下文
发表评论
-
Spring和Mybatis整合时无法读取properties的处理方案
2013-12-19 11:55 12372版本:Spring:3.1.4、Mybatis:3.1.1、 ... -
The reference to entity "characterEncoding" must end with the ';' delimiter
2013-08-22 09:48 1166Caused by: org.xml.sax.SAXPars ... -
@ManyToMany
2013-05-27 21:58 3661维护端注解 @ManyToMany (cascade = Ca ... -
freemarker 不支持 boolean 类型
2013-05-15 18:00 1315If in a template <td>${at ... -
在Spring3中使用注解(@Scheduled)创建计划任务
2012-02-22 11:33 8815Spring3中加强了注解的使用,其中计划任务也得到了增 ... -
Spring 2.5.6新特性之packagesToScan
2011-01-16 18:28 1768如果你使用早前版本的Spring,又恰好采用了Annotat ... -
Struts+Spring+Hibernate处理Lob(Blob,Clob)
2010-12-09 18:46 1550Struts+Spring+Hibernate处理Lob ... -
Spring Security 3应用的11个步骤
2010-04-12 09:17 1897Spring Security11个步骤为应用程序添加安全 ... -
quartz的配置表达式
2010-04-07 15:12 1179java服务自带了定时服务Timer,不过我在研究spring ... -
Spring XML配置的12个技巧
2007-12-02 22:23 1407Spring是一个强有力的java ... -
spring2.5
2007-11-23 12:53 1663Spring于10月22日推出2.5第一个发布候选版本(rc1 ...
相关推荐
第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 ...B.3.4 使用Gienah Testing在JUnit 4中进行测试 B.4 小结
第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 ...B.3.4 使用Gienah Testing在JUnit 4中进行测试 B.4 小结
解压软件 ZArchiver.apk
二、技术实现 后端:spring,springmvc,mybatis,mysql 前端采用:vue,css 运行环境及开发工具:jdk8,idea或者eclipse,Navicat 三、系统功能 系统登录角色分为:管理员、老师、学生 用户登录 用户注册 首页 个人中心 修改密码 个人信息 班级管理 成绩类型管理 公告类型管理 教程类型管理 第几节管理 院系管理 职称管理 专业管理 公告管理 课程管理 成绩管理等功能
设计和仿真一个用于控制双质量弹簧阻尼系统位移的多变量控制系统.docx
这份数据集详细记录了2010至2020年间中国各城市金融机构的本外币存款和人民币贷款情况。数据涵盖了商业银行、农村合作银行、信用社等多种金融机构的存款数据,包括本币和外币存款情况。这些数据不仅反映了各城市金融机构的存款规模,也为分析金融市场的发展趋势、资金流动状况及城市经济活动提供了重要视角。数据来源于中国区域统计年鉴和各省市统计年鉴,以面板数据形式呈现,包含1948个样本。通过这些数据,金融机构、政策制定者、研究人员和投资者可以深入了解各城市的金融市场格局,辅助做出更准确的决策和分析。
开发一个带有 PCIe Endpoint 设备的驱动程序并实现热插拔功能
NovaMaker-2.4.29-win-64-bit.zip
Spring Boot相关的资源.txt
本文档主要讲述的是Hive简易操作入门;本流程中以putty为例,如果使用别的SSH客户端,界面上会不同,基本过程相似。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
本文档主要讲述的是浅析Sybase数据库系统性能调优;性能调优”是对应用程序的性能优化。SYBASE数据库“性能调优”的主要目的是减少对系统公共资源的争用。对sybase数据库系统的性能进行优化,是一项长期且受诸多因素影响的工作,希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
用VBS制作自己的进度条
校际运动会管理系统程序设计基础课程设计报告.doc
本文档主要讲述的是ORACLE CRS日常维护命令;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
全国各省商品市场分割指数相对价格法的计算过程和结果数据集提供了2000至2020年间中国各省份市场分割的量化分析。该数据集基于12大类商品,包括粮食、纺织品、服装鞋帽等,利用地区间商品价格差异来分析市场分割状况。核心计算方法为相对价格法,通过比较不同地区同一商品的价格指数,来衡量市场分割程度。数据集包含原始数据、计算过程和最终结果,原始数据主要来源于统计年鉴中的商品价格指数。计算步骤包括计算历年资本边际产出比值、求均值、方差等,最终得出资本市场一体化程度。该数据集为研究中国国内市场一体化进程提供了重要参考。
全国上市公司绿色投资者数据集(2008-2022年)提供了中国上市公司在环保和可持续发展方面的资金吸引力的详细视角。该数据集涵盖了股票代码、年份、会计年度、股票简称、STPT标识、行业名称及代码,以及绿色投资者数量等关键指标。它记录了超过42,000个观测值,涉及4,700多家样本企业,为投资者、金融分析师、政策制定者和环境研究者提供了评估企业环保表现、理解绿色投资趋势以及制定相关策略的辅助工具。数据集包括是否有绿色投资者的虚拟变量,以及绿色投资者数目加1的自然对数两个指标,可以用于衡量企业绿色治理情况。这些数据不仅展示了中国上市公司在环境保护方面的资金流向,也反映了投资者对绿色投资的关注动态,对于研究绿色投资与企业行为的关系提供了宝贵的实证数据支持。
15da2b5d3ceeddc8af2f6a7eed26d7e0.JPG
视频课程下载——前端工程化实践