当前位置: 首页 > news >正文

二级域名网站优化win7版本wordpress

二级域名网站优化,win7版本wordpress,建设征婚网站,福建省网站备案用户注销maven集成spring介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后#xff0c;许多人要求我提供比最初使用的示例更实际的示例。 这篇文章显示了如何在实… maven集成spring 介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后许多人要求我提供比最初使用的示例更实际的示例。 这篇文章显示了如何在实际环境中实际将应用程序部署到服务器上使用原始方法拆分单元测试和集成测试。 我们使用Maven构建和对基于Spring的静态Web服务进行单元测试。 然后我们使用Maven Jetty插件启动Web服务器并将其部署到其中。 我们创建一个内存数据库并创建架构 最后我们在单独的\ src \ integrationtest \ java目录中运行所有集成测试 本文旨在直接展示如何在运行集成测试之前以实际方式使用Maven来启动一组服务并将其部署到正在运行的服务器上。 它与REST或Spring MVC的微妙细节无关。 我将对此进行简单介绍以构建一个可运行的应用程序同时为需要更多详细信息的人提供更深入的文章参考。 代码结构 运行示例 完整代码托管在Google代码上。 使用以下命令将其检出并运行。 在运行测试之前请确保端口8080上没有任何运行。 svn co https://designbycontract.googlecode.com/svn/trunk/examples/maven/spring-rest-example cd spring-rest-example mvn clean install -Pit,jetty 您可以在以下Cloudbees托管的Jenkins实例上查看完整版本。 https://designbycontract.ci.cloudbees.com/job/spring-rest-example/ 运行示例的结果 标准的Maven测试结构中的测试照常在单元测试阶段运行。 Jetty Web服务器启动 包含Web服务器的战争已部署到服务器 已启动hsqldb内存数据库并创建了架构。 \ src \ integrationtest \ java目录中的测试在集成测试阶段运行。 服务器已关闭。 如何创建Spring Service类 贸易服务非常简单。 它使用存储库来创建和查找交易。 我没有包含使整个过程尽可能简单的例外。 这里唯一的技巧是添加Service批注否则它是直接的Java。 Service public class SimpleTradeService implements TradeService {AutowiredTradeRepository tradeRepository; public SimpleTradeService(TradeRepository tradeRepository) {this.tradeRepository tradeRepository;}Overridepublic Long createTrade(Trade t) {Long id tradeRepository.createTrade(t);return id;}Overridepublic Trade getTradeById(Long id) {return tradeRepository.getTradeById(id);} 如何创建数据库存储库类 上面的服务使用交易存储库来创建和查找交易。 我们使用Spring类HibernateDaoSupoort来创建此类并使事情保持简单。 通过扩展此类我们只需要创建我们的交易对象类并在spring config中定义我们的数据库详细信息。 该框架负责所有其他细节。 public class HibernateTradeRepository extends HibernateDaoSupport implements TradeRepository{Overridepublic Trade getTradeByReference(String reference) {throw new RuntimeException();}Overridepublic Long createTrade(Trade trade) {return (Long) getHibernateTemplate().save(trade);}Overridepublic Trade getTradeById(Long id) {return getHibernateTemplate().get(Trade.class, id);} } 如何创建数据库交易类 我们使用标准的JPA批注定义我们的数据库交易对象 Entity public class Trade {Idprivate long id; Entity批注将对象标记为数据库实体。 Id注释显示了我们想成为表主键的字段。 对于其余字段我们使用默认行为因此不需要其他注释。 如何配置数据库 对于此示例我们将使用Hsqldb创建数据库。 http://hsqldb.org/每次我们启动服务器时都会创建一个新的实例。 要设置数据库我们要做的就是在spring config trade-servlet.xml中定义它 bean idsessionFactory bean idsessionFactory classorg.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBeanproperty namepackagesToScanvaluecom.dbc.model /property namehibernatePropertiespropsprop keyhibernate.show_sqltrue/propprop keyhibernate.format_sqltrue/propprop keyhibernate.transaction.factory_classorg.hibernate.transaction.JDBCTransactionFactory/propprop keyhibernate.dialectorg.hibernate.dialect.HSQLDialect/propprop keyhibernate.connection.pool_size0/propprop keyhibernate.connection.driver_classorg.hsqldb.jdbcDriver/propprop keyhibernate.connection.urljdbc:hsqldb:target/data/tradedatabase;shutdowntrue/propprop keyhibernate.connection.usernamesa/propprop keyhibernate.connection.password/propprop keyhibernate.connection.autocommittrue/propprop keyhibernate.jdbc.batch_size0/propprop keyhibernate.hbm2ddl.autoupdate/prop/props/property/bean 会话工厂定义我们的数据库连接详细信息。 最重要的属性是 prop keyhibernate.hbm2ddl.autoupdate/prop 该属性告诉hibernate在应用程序启动时更新数据库。 它将根据我们交易对象上的注释有效地为交易对象创建表。 运行测试时您将看到在启动时执行以下SQL。 11:30:31,899 DEBUG org.hibernate.tool.hbm2ddl.SchemaUpdate SchemaUpdate:203 - create table Trade (id bigint not null, description varchar(255), reference varchar(255), primary key (id)) 多数民众赞成在新的数据库设置并准备就绪。 创建宁静的界面。 我将在这里介绍基础知识。 对于一些很棒的例子请遵循以下链接http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/ http://www.stupidjavatricks.com/?p54 如何创建Spring控制器 Spring控制器是整个示例的关键。 是控制器接受我们的请求并将其传递给贸易服务部门进行处理。 它定义了restful接口。 我们使用PathVariable使事情变得简单。 RequestMapping(value /create/trade/{id}) public ModelAndView createTrade(PathVariable Long id) {Trade trade new Trade(id); service.createTrade(trade);ModelAndView mav new ModelAndView(tradeView, BindingResult.MODEL_KEY_PREFIX trade, trade);return mav; }RequestMapping(value /find/trade/{id}) public ModelAndView findTradeById(PathVariable Long id) {Trade trade service.getTradeById(id);ModelAndView mav new ModelAndView(tradeView, BindingResult.MODEL_KEY_PREFIX trade, trade);return mav; } 通过使用来自/ find / trade / {id}的值填充PathVariable id可以非常简单地工作例如请求/ find / trade / 1会将引用填充为“ 1”而请求/ find / trade / 29则将填充引用为“ 29”可在此处找到更多信息 http : //static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-requestmapping-uri-templates 如何配置Web应用程序 web.xml中Web应用程序的配置非常简单。 首先我们注册Spring Servlet tradeorg.springframework.web.servlet.DispatcherServlet1 接下来我们定义到servlet的映射。 该映射会将所有请求传递给我们的servlet。 trade/* 如何配置Spring Spring配置由许多不同的元素组成。 第一行只是告诉Spring在哪里寻找注释 BeanNameViewResolver使用名称 这个看起来很恐怖的XML可以确保将Trade对象作为XML返回。 XStream将获取对象并自动将其转换为XML格式。 Trade类为此定义了XStream注释。 XStreamAlias(trade) public class Trade { 在我们的案例中您可以从测试中看到我们从/ search / trade / 1获得了以下内容 1 如何启动和停止Jetty服务器 我使用Jetty插件启动服务器并部署包含服务的war文件。 http://docs.codehaus.org/display/JETTY/MavenJettyPlugin服务器使用pom.xml中的以下代码段启动服务器 executionidstart-jetty/idphasepre-integration-test/phasegoalsgoalrun/goal/goals /execution 使用pom.xml中的以下代码片段停止服务器 executionidstop-jetty/idphasepost-integration-test/phasegoalsgoalstop/goal/goals /execution 如何运行集成测试 如原始文章中所述使用故障保护运行集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html我们使用新的Spring RestTemplate来简化对服务的调用。 Test public void testGetTradeFromRestService() throws Exception {long id 10L;createTrade(id);String tradeXml new RestTemplate().getForObject(http://localhost:8080/find/trade/{id},String.class, id);System.out.println(tradeXml);Trade trade getTradeFromXml(tradeXml);assertEquals(trade.getId(), id); } 参考 Agile Engineering Techniques博客上的JCG合作伙伴 John Dobie提供的Maven集成测试和Spring Restful Services 。 翻译自: https://www.javacodegeeks.com/2012/05/maven-integration-testing-and-spring.htmlmaven集成spring
http://wiki.neutronadmin.com/news/353495/

相关文章:

  • vue.js做个人网站有没有网站
  • 温州网站制作要多少钱j建设网站
  • 网站后台如何添加代码自己建设影视网站
  • 自学做网站要多久wordpress 页面很窄
  • 陕西自助建站做网站做网站前需要做什么准备
  • 深圳市网站建设平台宁波网站推广平台咨询
  • 聊城做网站的公司流程线上WordPress移到本地
  • 深圳做h5网站wordpress怎样建立二级菜单
  • 大兴区企业网站建设酒店品牌策划方案
  • 淘宝客 网站选择WORDPRESS四川省建设建设监理协会网站
  • 苏州教育网站建设焦作seo推广
  • 做网站后台需要写代码吗国内做外单的网站有哪些
  • 电商网站建设实训报告心得推广网站的软文
  • 汕头第一网e京网优化标题关键词技巧
  • 网站制作xiu021建设网站职业证书查询
  • 网站怎么吸引流量郴州优化公司
  • logo是个网站怎么购买域名和服务器
  • php网站开发用什么php有自己网站好处
  • 杭州网站建设设计公司企业自助建站系统 嘉兴
  • 做动态图片下载哪个网站好高端品牌男鞋
  • 南昌网站设计单位公司汽车之家2023官网
  • zhihe网站建设 淘宝自己做网站成本
  • asp网站防攻击陕西大型网站建设
  • 在哪个网站可以做行测题豆浆怎么制作教程
  • 淘宝客 网站 建站新平台推广文案
  • 易语言可以做网站管理系统吗网站群建设技术方案
  • 建行网站查询密码是什么东西微网站开发的比较总结
  • 黑龙江省建设集团有限公司网站咖啡色网站模板
  • 武城网站建设费用建工网校一级建造师
  • 用dw怎么做网站首页百度一下官方网