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 =newIntent(Intent.ACTION_VIEW);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);File apkFile =newFile(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
12345678910111213141516171819202122232425262728293031323334353637383940publicstaticvoidinstallApk(String apkFullPath){try{Intent intent =newIntent(Intent.ACTION_VIEW);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Log.v("android", apkFullPath);onCoderReturn(apkFullPath);File apkFile =newFile(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 ...
随机推荐
- l^oo不可分的两个注意点
1 不理解等一个等式 , 2.不理解为什么,一个可分的集合里面有不可数的子集?谢谢 1是 2.是可分集合里面每个元素 做中心后的一个开覆盖 所有0 1序列是和所有二进制小数 可以一一对应 而 ...
- Python之异常处理(执行python文件时传入参数)
使用sys模块 使用sys模块里的argv参数,用来保存参数值 import sys #sys.argv的作用是获取到运行python文件时,传入的参数 #默认如果运行python文件不传参数,arg ...
- 解决只能root权限登陆mysql的问题
一.问题描述 在用sqoop连接mysql时,会报错如下图所示,原因是mysql在默认情况下是使用了auth_socket plugin进行认证,即每次登陆都需要sudo mysql -u local ...
- Linux 典型应用之服务管理
crontab 定时任务 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minut ...
- VMware虚拟机中常见的问题汇总
在使用虚拟机进行开发工作的时候,经常会遇到各种各样的问题, 总结再次, 防微杜渐 1. wget: unable to resolve host address的解决方法 原因分析: DNS域名解析的 ...
- 通过修改Tomcat配置,解决乱码问题
贴图,问题如下: tomcat使用的默认编码方式是iso8859-1 修改tomcat下的conf/server.xml文件 找到如下代码: <Connector port="8 ...
- react 路由4 学习
表单控件 受控表单组件 非受控的表单组件 demo:收集表单提交的数据 路由(V4) 特点:一切皆是组件 官网:https://reacttraining.com/react-router/ npm ...
- oracle查询不走索引的一些情况(索引失效)
Oracle建立索引的目的是为了避免全表扫描,提高查询的效率. 但是有些情况下发现即使建立了索引,但是写出来的查询还是很慢,然后会发现是索引失效导致的,所以需要了解一下那些情况会导致索引失效,即查询不 ...
- C# Note10: AutoComplete TextBox in WPF
参考: 1.https://stackoverflow.com/questions/950770/autocomplete-textbox-in-wpf 2.AutoCompleteBox的使用(实现 ...
- flutter-StatelessWidget与StatefulWidget
StatelessWidget和StatefulWidget是flutter的基础组件,日常开发中自定义Widget都是选择继承这两者之一. 两者的区别在于状态的改变,StatelessWidget面 ...