随笔分类 - Java基础
Java学习
摘要:Struts2集成Spring后,将可以实现Struts2组件纳入Spring管理,实现依赖注入,如果不和Spring集成,不仅每个action的实现类都需要写完整的包名加类名,而且后续对象不能实现依赖注入,会有高耦合的可能,因此和Spring的集成是有必要的,本文学习了基本的集成配置方法。 配置步
阅读全文
摘要:记录一下整合时的报错。 主要问题 在学习Struts2整合Spring时,启动Tomcat服务器报错‘Could not open ServletContext resource [/WEB-INF/applicationContext.xml]’,其中参考博客,修改了spring-mvc的cont
阅读全文
摘要:Struts中也有session,跟其他框架类似,也需要用它保存用户信息,或者其他信息。学习发现,Struts2获取session有三种方式,下面引入登录的案例,分别使用三种方式验证用户名和密码信息。 Struts2获取session的三种方式 (1)使用工厂方法获取,使用ActionContext
阅读全文
摘要:在学习Struts2的过程中,有消息传递机制的概念,所谓消息传递,就是指浏览器和服务器之间的数据传递,包含浏览器从服务器获取数据,以及服务器接受浏览器发送的数据两部分。在Struts2中,浏览器获取服务端的数据,需要使用EL表达式。而服务器要接受浏览器发送的数据,有两种方式,一种是基本属性传递方式,
阅读全文
摘要:前面学习了基于SpringMVC+Spring+MyBatis(SSM)的云笔记项目知识,最后需要学习另外一个前端框架Struts2,以及另外一个数据库框架Hibernate。虽然Struts2以及用得比较少,没有SpringMVC那么流行了,但是很多早期项目是用这个建立的,维护可能需要用到Stru
阅读全文
摘要:在云笔记学习过程中,又简单的介绍了MyBatis关联映射查询,以发帖作为例子,开始了对它的学习,不过本文只是查询,不涉及其他类型的数据库操作。由于查询帖子不是简单查询,简单的一一映射将不能满足需求,因此涉及到了复杂查询,需要使用关联查询来解决问题,以下将从数据库结构,配置文件等进行简单说明。 数据库
阅读全文
摘要:在云笔记项目中,讲到了MySql的自增,MyBatis查询到自增类型数据后可以设置返回到参数属性,其中学习了MySql的自增写法,堆栈对象等知识。 MySql数据类型自增 建立一张Person表,其中id就是自增,而name为人为插入,以下就是MySql自增的写法,不同的数据库写法不太一致,个人比较
阅读全文
摘要:在做文件上传时,当写入上传的文件到文件时,会报错“java.lang.IllegalStateException: File has been moved - cannot be read again”,网上一般说需要配置maxInMemorySize,自己测试发现,maxInMemorySize确
阅读全文
摘要:在云笔记项目学习中,提到了如何下载和上传文件,使用web的方式完成上传和下载都需要参考规范协议,代码的书写,以及web的配置,都是参考规范协议来编写的。本文将重新建立一个新Maven项目,进行简单演示,在服务端生成图片和Excel文件,发送到网页显示或实现下载,从本地上传图片或者文件到服务器,然后写
阅读全文
摘要:接下来测试事务传播属性设置为NOT_SUPPORTED Service层 Service层主要设置如下,其中还插入了REQUIRED作为比较。 LayerT层代码 测试代码 测试结果 (1)外层方法没有事务 结论:当外层方法没有事务时,内层方法按照非事务方式执行。 (2)外层方法有事务 结论:当外层
阅读全文
摘要:接下来测试事务传播属性SUPPORTS Service层 Service层将方法的事务传播属性设置为SUPPORTS LayerT层代码 测试代码 测试结果 (1)外层方法没有事务 结论:当内层方法事务传播属性设置为SUPPORTS时,在外层方法没有声明事务的情况下,按照非事务方式执行,所以test
阅读全文
摘要:接下来测试事务传播属性NEVER Service层 Service层中设置事务传播属性都为NEVER。 LayerT层代码 测试代码 测试结果 (1)外层方法没有事务 结论:当外层方法没有事务时,才能正常执行。并且不管内层方法有没有抛出异常,事务都提交了,所以定义了NEVER传播属性后,将以非事务方
阅读全文
摘要:接下来测试事务传播属性MANDATORY Service层 所有Service层实现类都设置事务传播属性为MANDATORY。 LayerT层代码 测试代码 测试结果 (1)外层方法没有事务 测试报错内容为:"No existing transaction found for transaction
阅读全文
摘要:接下来测试事务传播属性NESTED Service层 Service层方法事务传播属性都设置为NESTED。 LayerT层代码 测试代码 测试结果: (1)外层方法没有事务 结论:在外层方法没有事务声明的情况下,内层方法事务传播属性为NESTED时,类似REQUIRED,内层方法之间事务相互独立,
阅读全文
摘要:接下来测试事务传播的REQUIRES_NEW。 Service层 Service层代码在这里不展示了,主要将EMPService1Impl类中的方法事务传播属性设置为REQUIRED,EMPService2Impl类中的方法事务传播属性为REQUIRES_NEW,下面代码进行了注释说明。 Layer
阅读全文
摘要:在准备好前期的项目搭建后,接下来就一个个的测试,首先测试事务传播的Required Service层两个实现类 Service层两个实现类,只是更换了方法事务传播的属性,其他都一样,后续测试也只修改传播的属性即可,这里只列一次便于理解。 LayerT层代码 测试代码 其中baseTest为父类,里面
阅读全文
摘要:在做云笔记项目的过程中,顺便简单的学习了Spring的事务概念,业务以如果添加笔记,则增加用户星星数目作为例子,引入了事务的概念。类似注册送积分之类的,云笔记项目以增加笔记就送星星来说明事务。具体在添加笔记的业务方法中,添加增加星星的业务方法。添加笔记方法和添加星星方法都声明了事务,其中一个执行抛出
阅读全文
摘要:在云笔记项目的过程中,需要检查各个业务层的执行快慢,如登录、注册、展示笔记本列表,展示笔记列表等,如果在每个业务层方法里都写一段代码用来检查时间并打印,不仅仅显得代码重复,而且当项目很大的时候,将大大加大工作量。这个时候AOP的概念引入了,本文在引用其他大牛博文的基础上,对AOP知识进行了简单整理,
阅读全文
摘要:在做云笔记项目的过程中,没有登录的情况下,也可以直接访问edit.html页面。这个跟以前自己用Servlet做过的PadAndFilterManagement情况类似,当时在没有登录的情况下可以访问任何的action,后面加了过滤器才解决。只是在云笔记项目中,其使用的Spring MVC框架,即也
阅读全文
摘要:在云笔记项目中,补充了部分反射的知识,反射这一部分基础知识非常重要,前面学习的框架Spring和MyBatis读取xml配置文件创建对象,以及JDBC加载驱动等都用了反射,但只知道有这个东西,具体不知道怎么用,大概的原理是怎么样的,现在简单的记录下 什么是反射 反射(Reflection)是Java
阅读全文
浙公网安备 33010602011771号