SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发。
SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发。
是目前企业开发比较流行的架构。
代替了之前的SSH(Struts + Spring + Hibernate)
计划的架构组合
- Sping MVC + Spring + MyBatis(非Ajax版)
- Sping MVC + Spring + MyBatis(Ajax版)
- Sping MVC + Spring + MyBatis(Ajax版 + JavaConfig)
- Spring Boot + MyBatis + Redis(Ajax版)
- Spring Boot + MyBatis + Dubbo(Ajax版)
- Spring Boot + MyBatis + Spring Cloud(Ajax版)
技术选型
持久层
- 使用MyBatis实现DAO的操作。
- 使用MyBatis-Generator(MBG)实现DAO层代码的生成。
- 使用PageHelper实现分页功能。
- 数据库使用MySQL。
- 数据库连接池使用Spring自带的数据库连接池。
- 使用Log4j实现SQL语句在控制台的打印功能。
业务层
- 使用Spring实现IOC、声明式事务、框架间的整合等功能。
展现层
- 使用Spring MVC作为Web MVC框架。
- 使用JSR303实现服务端的数据校验。
- 使用jQuery实现客户端的数据校验。
单元测试
- 使用 Junit + Spring Test 实现单元测试。
Intent intent =
new
Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
File apkFile =
new
File(apkFullPath);
Uri uri =
null
;
String path = MainActivity.instance.getApplicationContext().getPackageName() +
".fileProvider"
;
uri = FileProvider.getUriForFile(MainActivity.instance, path,apkFile);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(uri,
"application/vnd.android.package-archive"
);
MainActivity.instance.startActivity(intent);
PS:这里有个地方需要注意,为何非要是这个顺序???
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
...
...
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
为什么setFlag放到上面就可以,addFlag放上面就不行呢???原因很简单,当setFlag时会先清空intent下之前所有的flag,所以addFlag的FLAG_GRANT_READ_URI_PERMISSION就无效了,本人亲自踩的坑,多么痛的礼物!
这一切到搞定了,打包真机测试,android 7.0的果然好了,年轻人,别高兴的太早,说完又遇到一个坑,8.0以上的系统死活不会弹出安装界面,一首凉凉送给自己,,,但是马上就要看到胜利的曙光了,一定要淡定,车到山前必有路,办法总比困难多!!!
最终安装代码,完美兼容,Android 7.0,8.0
12345678910111213141516171819202122232425262728293031323334353637383940public
static
void
installApk(String apkFullPath)
{
try
{
Intent intent =
new
Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Log.v(
"android"
, apkFullPath);
onCoderReturn(apkFullPath);
File apkFile =
new
File(apkFullPath);
Uri uri =
null
;
if
(Build.VERSION.SDK_INT >=
24
)
{
String path = MainActivity.instance.getApplicationContext(www.huarenyl.cn).getPackageName() +
".fileProvider"
;
Log.v(
"android"
, path);
uri = FileProvider.getUriForFile(MainActivity.instance, path, apkFile);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
else
{
uri = Uri.fromFile(apkFile);
Log.v(
"android"
, apkFile.getAbsolutePath());
}
onCoderReturn(
"install"
+ uri.getPath(www.yongshi123.cn));
intent.setDataAndType(uri,
"application/vnd.android.package-archive"
);
//解决安卓8.0安装界面不弹出
//查询所有符合 intent 跳转目标应用类型的应用,注意此方法必须放置在 setDataAndType 方法之后
List<ResolveInfo> resolveLists = MainActivity.instance.getPackageManager(hengtongyoule.com/).queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
// 然后全部授权
for
(ResolveInfo resolveInfo : resolveLists)
{
String packageName = resolveInfo.activityInfo.packageName;
MainActivity.instance.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
}
MainActivity.instance.startActivity(intent);
}
catch
(Exception e)
{
e.printStackTrace(www.gaozhuoyiqi.com);
}
开发工具
- 开发工具:IntelliJ IDEA
- 数据库管理工具:Navicat Premium
- 项目构建、依赖管理:Maven
- 版本控制:Git
- 服务器:Tomcat
功能点
查询功能
- 列表查询
- 分页信息
- 分页导航条
添加功能
- 添加页面(加载部门列表)
- 添加功能
- 姓名唯一性校验
- 后端数据校验 + 错误消息提示
- 前端数据校验 + 错误消息提示
- 错误数据回填
修改功能
- 修改页面(回显员工信息)
- 修改(姓名不可改)
- 后端数据校验 + 错误消息提示
- 前端数据校验 + 错误消息提示
- 错误数据回填
删除功能
单个删除
批量删除(全选/全不选)
SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发。的更多相关文章
- 转载 Spring、Spring MVC、MyBatis整合文件配置详解
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...
- Spring MVC、MyBatis整合文件配置详解
Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ Building a RESTful Web Serv ...
- Mybaits-从零开始-Spring、Spring MVC、MyBatis整合(未万待续)
Spring.Spring MVC.MyBatis整合(未万待续)
- Spring、Spring MVC、MyBatis整合文件配置详解
原文 http://www.cnblogs.com/wxisme/p/4924561.html 主题 MVC模式MyBatisSpring MVC 使用SSM框架做了几个小项目了,感觉还不错是时候总 ...
- 【转】Spring、Spring MVC、MyBatis整合文件配置详解
见:http://www.tuicool.com/articles/eyINveF web.xml的配置 web.xml应该是整个项目最重要的配置文件了,不过servlet3.0中已经支持注解配置方式 ...
- Spring、Spring MVC、MyBatis整合文件配置详解2
使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis ...
- Spring、Spring MVC、MyBatis 整合文件配置详解
使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis ...
- Spring MVC + Spriing + MyBatis整合,写给新人
开发环境: 开发工具:MyEclipse 8.6 数据库:MySQL 操作系统:WIN8.1 Jar包: Spirng和SpringMVC版本:3.2.9 MyBatis版本:3.2.8 其他关联Ja ...
- spring mvc 和mybatis整合 的异常处理
1.自定义异常信息类 通过构造函数来实现异常信息的接收 public class CustomException extends Exception { //异常信息 private String m ...
- spring mvc与mybatis整合错误提示
java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L ...
随机推荐
- ssm知识点总结
项目名称:教育网—在线调查系统 项目总体流程图: 设计调查:调查-->包裹--->问题(增删改查) 1.调整包裹顺序 2.移动复制包裹 3.深度删除 创建调查流程分析: 主要生成surve ...
- openstack-KVM-存储配置
一.块存储设备 1.存储设备类型 IDE SCSI 软盘 U盘 virtio磁盘(KVM使用类型) 2.查看存储设备 lspci | grep IDE lspci | grep SCSI lspci ...
- Git更新本地仓库
1.查看远程仓库git remote -v2.从远程获取最新版本到本地git fetch origin master:temp3.比较本地的仓库与远程仓库的区别git diff temp4.合并tem ...
- haoop笔记
: //:什么是hadoop? hadoop是解决大数据问题的一整套技术方案 :hadoop的组成? 核心框架 分布式文件系统 分布式计算框架 分布式资源分配框架 hadoop对象存储 机器计算 :h ...
- Excel之批量改变特定字体颜色(转载)
改变单元格内部分特定字符的颜色,如果批量操作,需要用宏处理, 如下例,将范围内 所有字母A 变成红色 操作步骤:右键点击工作表标签,查看代码,如下代码复制进去Private Sub CommandBu ...
- C# foreach内部原理
我们知道使用foreach的一个要求是对象必须继承自IEnumerable接口 这样才可以进行迭代 那内部是怎么实现的呢 这个时候会将对应的foreach语句转换为一个while循环 并且通过Move ...
- js 精确验证身份证(地址编码、出生日期、校验位验证)
//身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码.出生日期.校验位验证 function IdentityCodeValid(code) { ::::::::::::::::: ...
- mybatis入门配置和调试
欢迎转载http://www.cnblogs.com/jianshuai520/p/8669177.html大家一起努力,如果看的时候有图片半边遮挡起来的话,右键查看图片,就可以观看完整的图片,具体怎 ...
- K8S入门学习
一.k8s是个什么鬼? k8s全名:kubernetes 它是一个工具,在linux上管理应用生命周期的一个工具. 二.k8s有什么卵用? 1.当你把项目部署到服务器集群上,一台服务器挂了,k8s它可 ...
- C# Note31: 如何使用Visual Studio做单元测试
待更! 使用Visual Studio 2013进行单元测试--初级篇 带你玩转Visual Studio——单元测试(C++例)