自己搭建项目中存在的一些问题
1、多种分页方式
Oracle
Mysql
数组下标
pagehelper
2、
Spring Web MVC 处理Http请求的大致过程:
一旦Http请求到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,
所有的请求都有经过它来统一分发。
在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
HandlerMapping是这样一种对象,它能够完成客户请求到Controller之间的映射。
在Struts中,这种映射是通过struts-config.xml文件完成的。其中,Spring为Controller接口提供了若干实现,
例如Spring默认使用的BeanNameUrlHandlerMapping。还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。
Spring Controller将处理来自DispatcherServlet的请求。Spring的Controller类似于struts的Action,
能够接受HttpServletRequest和HttpServletResponse。Spring为Controller接口提供了若干实现类,
位于org.springframework.web.servlet.mvc包中。由于Controller需要为并发用户处理上述请求,因此实现Controller接口时,
必须保证线程安全并且可重用。Controller将处理客户请求,这和Struts Action 扮演的角色是一致的。
一旦Controller处理完客户请求,则返回ModelAndView对象给DispatcherServlet前端控制器。
ModelAndView中包含了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;
从微观角度考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型和视图。
前端控制器返回的视图可以是视图的逻辑名,或者实现了View接口的对象。View对象能够渲染客户响应结果。
其中,ModelAndView中的模型能够供渲染View时使用。借助于Map对象能够存储模型。
如果ModelAndView返回的视图只是逻辑名,则需要借助Spring提供的视图解析器(ViewResoler)在Web应用中查找View对象,
从而将响应结果渲染给客户。DispatcherServlet将View对象渲染出的结果返回个客户。
3、
@Override
public PageBean<User> getUserByNoAndEmail(String no, String email) {
Map<String, Object> map = new HashMap<>();
map.put("no", no);
map.put("email", email);
PageHelper.startPage(PaginationContext.getPageNum(), PaginationContext.getPageSize());
List<User> list = this.userMapper.getUserByNoAndEmail(map);
return new PageBean<User>(list);
}
4、每周任务总结
周一上午,将pagehelper了解清楚,并开始配置参数,写JUnit测试类;
周一下午,两种方式配置pagehelper,第一种是在controller层进行参数输入,pageNum、pageSize,通过默认参数来实现;
第二种可以自定义pageInfo类:pageBean,通过Filter拦截器,PageContext上下文参数设置页数和显示记录,在ServiceImpl中实现,在Controller中返回。
周二上午,添加事务管理,JUnit测试;
周二下午,查看缓存数据库redis相关资料,实现部分;
周三,上午,添加缓存数据库;
周三下午,对缓存数据库进行测试;
周四上午,shrio权限资料查询;
周四下午,对shrio进行操作,测试;
周五,进行本周功能总结,整合,以及下周需要进行操作的内容;
5、
(1)web project中异步操作作为一个单独模块如何设置依赖
maven中模块化操作如何设置;
(2)异步操作设计那些内容?
(3)上传下载功能
(4)controller层设置、beanname、mv.setViewName();
(5)responsebody
(6)批量添加前端设计
1)Oracle中mybatis写法
<insert id="addRoleModule" parameterType="java.util.List">
INSERT INTO T_P_ROLE_MODULE (ROLE_ID, MODULE_ID)
<foreach collection="list" item="item" index="index" separator=" UNION ALL ">
SELECT #{item.roleId}, #{item.moduleId} FROM DUAL
</foreach>
</insert>
2)mysql中mybatis的写法
<insert id="addTrainRecordBatch" useGeneratedKeys="true" parameterType="java.util.List">
<selectKey resultType="long" keyProperty="id" order="AFTER">
SELECT
LAST_INSERT_ID()
</selectKey>
insert into t_train_record (add_time,emp_id,activity_id,flag)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.addTime},#{item.empId},#{item.activityId},#{item.flag})
</foreach>
</insert>
6、事务JUnit测试可用
http://blog.csdn.net/xiaoerduo123x/article/details/51387203
账户余额事务测试
http://www.mamicode.com/info-detail-1474508.html
7、日志配置文件不用导入?
9、
就是我在定义mapper.xml中的插入方法时一般都会默认用<![CDATA[ ]]>标签把sql语句括起来,如下所示:
<![CDATA[
select * from t_train_record t where t.activity_id=#{activityId}
]]>
这样做的目的主要是因为在 XML 元素中,"<" 和 "&" 是非法的。"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。
"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。而sql语句或者脚本语句中可能会存在 "<" 或 "&" 字符。
为了避免错误,可以将sql语句定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。
当时我在addTrainRecordBatch方法中也用了这种用法:
<![CDATA[
insert into t_train_record (add_time,emp_id,activity_id,flag)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.addTime},#{item.empId},#{item.activityId},#{item.flag})
</foreach>
]]>
结果程序在执行时老是报错: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException,查看错误信息就是传入的参数都是null。
纠结了很久,后面才发现原来是<![CDATA[ ]]>把xml中的<foreach>标签括起来后把标签直接当成字符串处理了。后面把外面的<![CDATA[ ]]>去掉后就能正常执行了。
10、
generator自动生成、Maven项目下SSM框架搭建;
pagehelper、transaction;
批量操作、多个参数直接设置传map集合《待定》
shrio权限管理
缓存数据库设计(有问题待查看)
优盘前台界面调用、税优健康险平台js调用
8、自动发送邮件
发送短信
投票事务demo
11、最代码
CSDN、博客园
线程安全问题
12、配置事务时出错
Multiple annotations found at this line:
- cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'tx:annotation-driven'.
- schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/tx/spring-tx-3.0.xsd', because 1)
could not find the document; 2) the document could not be
read; 3) the root element of the document is not <xsd:schema>.
这个问题网上有很好的解决方法,http://blog.csdn.net/bluishglc/article/details/7596118
但其实更简单的方法就是,将注解的那些xmlns文件以及xsi文件下关于注解的部分剪贴出去,然后重新粘贴进来,重新编译验证就可以了。
而这类问题出错的主要原因是:validate时,突然没有网络或者spring连接不上去。
<!-- cache配置 -->
<bean id="methodCacheInterceptor" class="com.cn.hnust.Interceptor.MethodCacheInterceptor" >
<property name="redisUtil" ref="redisUtil" />
</bean >
<bean id="redisUtil" class="com.cn.hnust.Utils.RedisUtil" >
<property name="redisTemplate" ref="redisTemplate" />
</bean >
<!-- 需要加入缓存的类或方法 -->
<bean id="methodCachePointCut" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor" >
<property name="advice" >
<ref local="methodCacheInterceptor" />
</property>
<property name="patterns" >
<list>
<!-- 确定正则表达式列表 -->
<value>com\.mucfc\.msm\.service\.impl\...*ServiceImpl.*</value >
</list>
</property>
</bean >
message Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException:
Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
D:\application\redis\redisbin_x64
implements Serializable
对象序列化问题
http://blog.csdn.net/tiantiandjava/article/details/46712313
测试类中向mysql插入数据乱码
最基础的测试缓存数据库redis测试成功,通用性设计
13、单点登录
14、redis缓存数据库一些思路
http://blog.csdn.net/wang_keng/article/details/51760806
15、文件上传下载
http://www.jb51.net/article/87228.htm
16、mybatis自动生成实体类插件配置参数是如何加载的呢?
如何打印日志?
ArtifactTransferException: Failure to transfer org.springframework:spring-beans:jar:4.2.5.RELEASE
from http://repo.maven.apache.org/maven2 was cached in the local repository,
resolution will not be reattempted until the update interval of central has elapsed or updates are forced.
Original error: Could not transfer artifact org.springframework:spring-beans:jar:4.2.5.RELEASE from/to central
(http://repo.maven.apache.org/maven2): No response received after 60000
17、测试
java -jar autotest -1.0.0
转载于:https://www.cnblogs.com/heng-yan/p/6346755.html
自己搭建项目中存在的一些问题相关推荐
- 在内网中使用maven_搭建私有maven仓库并在项目中使用
这是一篇写给女朋友看的教程...前方高能,注意避让~ 1.私有maven仓库的搭建 搭建环境为阿里云ESC服务器,CentOS.确保服务器已经安装Jdk.然后我要手把手教你安装和启动nexus. St ...
- php7开发的项目怎么样,如何在PHP7项目中搭建一个多线程
如何在PHP7项目中搭建一个多线程 发布时间:2021-03-05 15:31:22 来源:亿速云 阅读:93 作者:Leah 这期内容当中小编将会给大家带来有关如何在PHP7项目中搭建一个多线程,文 ...
- git 创建webpack项目_近期总结:手动搭建react项目,将项目从自己的库引入到新的项目中使用...
背景:最近公司有这样一个需求,需要开发一个react工具类,这个工具类可以用在其他项目里使用,并且这个工具类比较大,需要多人协作开发. 这个项目主要由同事负责,于是同事就将这个工具类当成一个单独的 ...
- 基于AI的计算机视觉识别在Java项目中的使用(三) —— 搭建基于Docker的深度学习训练环境
深度学习在哪里? 我们已然生活在数字时代,一天24小时我们被数字包围.我们生活中的方方面面都在使用数字来表达.传递.存储.我们无时无刻不在接收数字信息,而又无时无刻不在生产数字信息. 在数字世界中,可 ...
- 在 Quasar cli 搭建的 vue 项目中 引用 阿里字体图标 iconfont symbol方式
在 Quasar cli 搭建的 vue 项目中 引用 阿里字体图标 iconfont 1. symbol 方式 2. font class 方式(未实践) 1. symbol 方式 首先说明一下,这 ...
- Vue CLI3搭建的项目中,如何给文件夹起别名?
因为这段大年的时间里,好久没写博客了,是好懒散了.真的是少年易老学难成,一寸光阴不可轻啊.浪费一秒钟是一秒钟的罪过. 我们使用Vue CLI3搭建的项目中,在vue.config.js文件中,在给文件 ...
- prism项目搭建 wpf_WPF Step By Step 系列-Prism框架在项目中使用
Prism是一个强大的Mvvm框架,下面我们将重点讲解如何在项目使用Prism提供的基础功能,完成基于MVVM的WPF项目的框架设计和开发,包括应用程序的架构. 项目的解决方案结构,项目采用Prism ...
- 10分钟教你搭建nexus,并把自己项目中的依赖上传到私服
1.先安装maven 官网 https://maven.apache.org/download.cgi 2.下载方式 (1) 先去官网下载 查看以前maven的地址: https://archive. ...
- angular搭建项目步骤_建立健康的Angular项目应采取的步骤
angular搭建项目步骤 by Ashish Gaikwad 通过Ashish Gaikwad 建立健康的Angular项目应采取的步骤 (Steps you should take to buil ...
最新文章
- 树莓派进阶之路 (002) - 系统烧录及系统使用(多平台)
- 微信开发之自动回复图文消息
- JavaSript模块规范 - AMD规范与CMD规范介绍[转]
- ubuntu12.04LTS安装已经共享的打印机
- HTMl语言编写的文件扩展名,用HTML编写的文件的扩展名是()。
- VTK:离散行进立方体用法实战
- 计算机操作系统(7):进程的基本概念
- linux c++连接mysql示例
- 【开发工具】 JEECG_3.7新版开发工具
- python 进阶案例_【python3】while和for的进阶案例
- html外联内联,HTML内联元素
- 利用Github探测发现特斯拉API请求漏洞
- 解决Glide 4.8.0 圆角与CenterCrop 的冲突问题
- 基于微信公众号的图书借阅管理系统设计与实现
- 基于BP神经网络的PID控制器
- 在我的ibmR40上装osx86
- 虚拟仿真实验教学计算机网络,虚拟仿真实验教学及实验中心建设
- PowerMILL宏自动化编程视频教程
- Python-玩转数据-Scrapy中Spiders
- 为知笔记登录提示“打开数据库失败”解决方法
热门文章
- 清除node_modules 缓存
- 牛客上C++的面试题和答案
- python3中将'\xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee'转成中文
- 今日头条自媒体搬运原创视频批量去水印消重包推荐0基础教程如何快速找素材进行伪原创-自媒体爆文之如...
- android 全景拍照 sdk,Android全景SDK | 百度地图API SDK
- Mac下压缩和解压rar文件的方法
- js中appendChild()方法
- ubuntu kylin mysql_Ubuntu Kylin 安装和配置mysql
- 访客模式 无痕模式 区别_旧访客设计模式的新生活
- OpenCV-Python学习资源