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. poj 3311Hie with the Pie

    题意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小. 解法一: 这个n不大,即使是NP问题也才1E6多一些所以可以dfs():具体的回溯方法结合da ...

  2. 乐在其中设计模式(C#) - 建造者模式(Builder Pattern)

    原文:乐在其中设计模式(C#) - 建造者模式(Builder Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 建造者模式(Builder Pattern) 作者:webabc ...

  3. 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API

    原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API [索引页][源码下载] 返璞归真 asp.net mvc (10) - asp.net ...

  4. 【Web探索之旅】第二部分第五课:响应式网站和移动应用

    内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...

  5. Windows 8实例教程系列 - 布局控制

    原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布 ...

  6. 【iOS】UIViewController生命周期

    UIViewController有2周期: 在UIViewController中,View存在两个循环:载入循环和卸载循环. 载入循环 1>程序请求controller的view. 2>假 ...

  7. executeBatch()相关操作汇总

    环境:oracle使用PreparedStatement的executeBatch方法,如果DML操作成功,返回值[-2,-2,...]an array of update counts contai ...

  8. 进口fbx角色动画read-only解

    原文链接:http://answers.unity3d.com/questions/8172/how-to-add-new-curves-or-animation-events-to-an-im.ht ...

  9. 【MySQL案件】ERROR 1665 (HY000)

    转载请注明: http://blog.csdn.net/jason_asia/article/details/36240815 1.1.1. ERROR 1665 (HY000) [环境的叙述性说明] ...

  10. SQL SERVER 内存分配及常见内存问题(2)——DMV查询

    原文:SQL SERVER 内存分配及常见内存问题(2)--DMV查询 内存动态管理视图(DMV): 从sys.dm_os_memory_clerks开始. SELECT [type] , SUM(v ...