Util最新代码更新说明

 

  离上一篇又过去了一个月,时间比较紧,后续估计会更紧,所以这次将放出更多公共操作类及配套的CodeSmith模板,本篇将简要介绍新放出的重要功能,供有兴趣的同学参考。

重要更新

  这一次对两个VS解决方案均做了大量调整,包含项目结构及命名空间。

  Util解决方案的目录截图如下。

  除了少数需要配置的集成测试外,大部分单元测试已放出。

  Applications项目示例的目录截图如下。

  Applications项目示例虽然包含的东西不多,却建了不少项目,可能并不符合你的胃口,我将在下一篇文章向你演示其它项目结构组织方式。

  CodeSmith代码生成项目的目录截图如下,这是生成前的模板,除了实体类、EF映射配置等常规代码外,我还按EASYUI的三种界面操作方式生成相关的CRUD界面,另外我也尝试生成一些测试代码,不过目前效果并不理想,大家可以先参考。

  02-Result目录为生成的代码。

  由于修改了项目命名空间规则,目前放出的模板命名空间有些错误,后续会进行修正。对于CodeSmith的使用,还没有学习过的同学可以先自行安装软件,我会在后续几天进行介绍。

  公共操作类方面,更新了随机数生成器Util.RandomBuilder,用于生成简单的随机测试数据。

  根据部分同学的建议,增加了Autofac和Ef的自动装配功能。

  单元测试模拟框架已从原先的RhinoMocks改成了NSubStitute

  最近封装了缓存模块的部分功能,主要参考蘑菇先生的《那些年我们一起追过的缓存写法》以及Jusfr.W的《一步步实现一个基本的缓存模块》,我画了简单的类图和顺序图来帮助理解,目前只实现了部分功能,后续会进行完善。

  为了防止缓存过期时有大量并发请求访问数据库,我使用了单元测试进行模拟,并封装了一个简单的并发模拟操作类。

  本次更新了对SqlBulkCopy的封装,EF元数据通过EntityFramework.Extended扩展获取,不过遗憾的是该扩展对元数据的支持并不够理想,不支持值对象,即ComplexType,我简单修改了下,目前仅支持一级,比如user.Address,传说EF7在元数据方面开放了很多东西,后续将直接在EF7上扩展。

  SqlBuilkCopy配合随机生成器,可以为简单的表快速创建测试数据,复杂的情况暂末测试。

  另一个重要更新是对SQL查询的支持,通过对Dapper的简单包装即可完成查询,该模块主要实现了对SQL Where条件的拼接,自动完成空值判断,同时支持分页,目前实现了Sql Server基于RowNumber和Offset两种分页方式,Offset是Sql Server 2012特有语法,分页效率比RowNumber有大幅提升,特别是点击分页最后几页时,效果尤其明显。

  EasyUi方面,更新了查找带回等功能。

  功能模块方面,更新了资源管理模块,资源管理模块尚未完成,也先放出来供大家参考。

  资源管理模块涉及图标选择,采用查找带回方式操作,效果图如下。

  注意,使用图标管理模块上传图标时,会自动更新相关的CSS文件,由于目前该文件是静态引用,所以上传的图标在图标选择界面中无法显示,请上传后Ctrl +R刷新,后续会将引用方式改成动态,每次上传成功都需要更新CSS文件引用。

  表现层引入了ValidateAntiForgeryToken特性,所有公共JS均已更新。

  本次更新大量类,有兴趣自己看看,不一一介绍了。

版权申明

  1. 本应用程序框架版权归作者何镇汐所有。

  2. 本框架代码可免费使用,允许用于商业目的。

  3. 如果您的开源项目中采用了本框架少量代码,不需要注明出处。

  4. 如果您的开源项目中采用了本框架大量代码,请注明出处。

  5. 严重鄙视某些人直接修改本框架命名空间后开源,本人保留追究法律责任的权利。

  6. 禁止直接销售本框架源码骗钱,本人保留追究法律责任的权利。

结束语

  本篇介绍了重要的更新内容,下一篇介绍VS解决方案的创建。

QQ群

  应用程序框架交流QQ群1:386092459(已满)

  应用程序框架交流QQ群2:376124781

  EasyUi交流QQ群:157809322

源码下载:(下载时顺手推荐)

框架源码:http://files.cnblogs.com/files/xiadao521/Framework.2015.5.20.1.rar

项目示例源码:http://files.cnblogs.com/files/xiadao521/Applications.2015.5.20.1.rar

数据库备份:http://files.cnblogs.com/files/xiadao521/Data.2015.5.20.1.rar

Codesmith生成器模板:http://files.cnblogs.com/files/xiadao521/CodeGenerator.2015.5.20.1.rar

版权所有,转载请注明出处 何镇汐的技术博客

Util的更多相关文章

  1. java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager

    问题: 使用Springboot打包为war部署于Tomcat7中报错 java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringMa ...

  2. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

  3. Java程序日志:java.util.logging.Logger类

    一.Logger 的级别 比log4j的级别详细,全部定义在java.util.logging.Level里面.各级别按降序排列如下:SEVERE(最高值)WARNINGINFOCONFIGFINEF ...

  4. Android中使用java.util.Properties犯的错

    今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...

  5. java.util.ConcurrentModificationException 解决办法(转载)

    今天在项目的中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,这时想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,测试代码:   public cla ...

  6. java util 下的concurrent包

    ------------------------------------------java util 下的concurrent包--------并发包--------------------.jav ...

  7. 原子类java.util.concurrent.atomic.*原理分析

    原子类java.util.concurrent.atomic.*原理分析 在并发编程下,原子操作类的应用可以说是无处不在的.为解决线程安全的读写提供了很大的便利. 原子类保证原子的两个关键的点就是:可 ...

  8. 错误:java.util.Map is an interface, and JAXB can't handle interfaces.

    问题: 在整合spring+cxf时报错java.util.Map is an interface, and JAXB can't handle interfaces. 解决方法: 将服务端的serv ...

  9. 解决springmvc报No converter found for return value of type: class java.util.ArrayList问题

    一.背景 最近闲来无事,想自己搭建一套Spring+SpringMVC+Mybatis+Mysql的环境(搭建步骤会在以后博客中给出),结果运行程序时,适用@ResponseBody注解进行返回Lis ...

  10. Java源码之 java.util.concurrent 学习笔记01

    准备花点时间看看 java.util.concurrent这个包的源代码,来提高自己对Java的认识,努力~~~ 参阅了@梧留柒的博客!边看源码,边通过前辈的博客学习! 包下的代码结构分类: 1.ja ...

随机推荐

  1. 管理Android通信录

    Android提供了Contacts应用程序来管理联系人,并且Android系统还为联系人管理提供了ContentProvider,这就同意其他应用程序以ContentResolver来管理联系人数据 ...

  2. [LeetCode217]Contains Duplicate

    题目:Given an array of integers, find if the array contains any duplicates. Your function should retur ...

  3. 一天JavaScript示例-点击图片显示大图片添加鼠标

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. 使用JMX实现的内存监控(转)

    public final class MemoryWarningSystem { private static MemoryWarningSystem m_instance = null; /** * ...

  5. Android+NDK+CDT+eclipse+OPenGL ES编制和native调试

    周围环境: NDK版本号r8,eclipse和Android运用adt-bundle-windows-x86打包版本是更方便, 一.NDK汇集 1.源代码 NDK的examples文件夹中有Hello ...

  6. 【转】Android内存机制分析1——了解Android堆和栈

    昨天用Gallery做了一个图片浏览选择开机画面的功能,当我加载的图片多了就出现OOM问题.以前也出现过这个问题,那时候并没有深究.这次打算好好分析一下Android的内存机制. 因为我以前是做VC+ ...

  7. Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-30 @author: guaguastd @name: f ...

  8. 【面试】【Spring常见问题总结】【09】

    81.SimpleJdbcTemplate SimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变參数列表和自己主动装箱和拆箱从而获取更简洁的代码. Sim ...

  9. 如何使用Google APIs和Google应用系统集成(7)----在里面JSON兑换XML数据处理,JSON数据包括违规XML数据规范:XML节点名称不支持号码Java解

    笔者电话Google Calendar APIs的GetColors方法,其中(有关详细信息Google Calendar API已经Google API看到我的博文介绍的其余部分,目前,我们只取Go ...

  10. RDIFramework.NET ━ .NET高速信息系统开发框架钜献 V2.9 版本震撼发布

    RDIFramework.NET ━ .NET高速信息化系统开发框架钜献 V2.9 版本号震撼公布  全新体验.全新感觉.2015钜献! 继上个版本号"RDIFramework.NET V2 ...