Java——框架探索
庄生了梦
凡是让你痛苦的,都是让你成长的。
展开
-
Mybatis 多条件查询
selectid="GetRecordCountByCondition1"parameterType="java.util.Map"resultType="int">select count(*) from record whereiftest="startime != null and startime != ''">record_ti原创 2017-03-01 11:23:41 · 434 阅读 · 0 评论 -
Spring IOC基础
2.1.1 IOC是什么IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好IOC呢?理解好IOC的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:●谁控制谁,控制什么:传统转载 2017-03-07 10:35:39 · 161 阅读 · 0 评论 -
Java之控制反转和依赖注入
1.简介依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性,下面通过一个例子来引入这一概念。 2.案例1)一般情况下的类耦合Main.javapublic class Main { public static void main(String[] args) { /******** 一般写转载 2017-03-10 17:59:08 · 267 阅读 · 0 评论 -
Spring IOC的配置使用
1.1.1 XML配置的结构一般配置文件结构如下: import resource=”resource1.xml” /> class=””> class=””> import resource=”resource2.xml” />1、标签主要用来进行Bean定义;2、alias用于定义Bean别名的;3、impor转载 2017-03-10 18:00:09 · 365 阅读 · 0 评论 -
Spring IOC容器基本原理
2.2.1 IOC容器的概念IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。Spring IOC容器如何知道哪些是它管理的对象呢?这就需要配置文件,Spring IOC容器通过读取配置文件中转载 2017-03-10 18:00:55 · 252 阅读 · 0 评论 -
Spring IOC基础
2.1.1 IOC是什么IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好IOC呢?理解好IOC的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:●谁控制谁,控制什么:传统转载 2017-03-10 18:01:13 · 207 阅读 · 0 评论 -
mybatis 根据条件查询
select id="GetRecordCountByCondition1" parameterType="java.util.Map" resultType="int"> select count(*) from record where if test="startime != null and startime != ''"> record_time>=#{startim原创 2017-02-08 15:42:15 · 1348 阅读 · 0 评论 -
resultMap和resultType引起的错误
十二月 08, 2014 1:47:35 下午 org.apache.catalina.core.StandardContext listenerStartSEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.Context原创 2017-02-08 15:39:50 · 989 阅读 · 0 评论 -
Spring中@Transactional事务回滚
博客园首页新随笔联系管理订阅随笔- 144 文章- 1 评一、使用场景举例二、checked异常和unchecked异常三、@Transactional的使用实例四、Spring中的@Transactional必须要了解的概念转载: Spring中@Transactional事务回滚一、使用场景举例转载 2017-03-09 23:01:32 · 294 阅读 · 0 评论 -
Spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
在前面的文章中总结了spring事务的5中配置方式,但是很多方式都不用而且当时的配置使用的所有参数都是默认的参数,这篇文章就看常用的两种事务配置方式并信息配置事务的传播性、隔离级别、以及超时等问题,废话不说下面就来看看!一、注解式事务1、注解式事务在平时的开发中使用的挺多,工作的两个公司中看到很多项目使用了这种方式,下面看看具体的配置demo。2、事务配置实例(1)转载 2017-03-13 14:50:13 · 301 阅读 · 0 评论 -
mybatis 缓存
在mybatis中提供了两种类型的缓存即 一级缓存和二级缓存,mybatis默认支持一级缓存所以不用配置。首先来看看一级缓存:1、mybatis 中的一级缓存,我们平时如果没有特别写明的话我们是看不到的,但他默认是开启的所以说我们在不知不觉中使用着mybatis的一级缓存。2、mybatis一级缓存的范围是 Sqlsession级别,如果是两个session,或关闭了session转载 2017-03-13 15:28:37 · 543 阅读 · 0 评论 -
mybatis 中的批量添加、删除、修改
现在很多公司和个人开始都会使用到mybatis 框架,而mybatis框架是一个orm框架,所以 数据库的 insert 、update、 delete 那肯定是必须的,但有个问题就是性能的问题。这么说吧:看到有人在使用mybatis批量删除批量添加的时候还在程序中使用for循环来调用方法,这样是没错,但是性能稍微低一点,所以下面看几个批量处理的例子,相对直接在程序中for循环的效率要转载 2017-03-13 16:30:39 · 885 阅读 · 0 评论 -
MyEclipse使用Maven创建web项目+搭建SSM框架教程
使用maven已经有一段时间了,但项目是别人搭建好的,因此一直想着自己要学习搭建一下。网上找了些资料后,结合自己的实验,花了点时间就搞好了,老样子,写在博客上,免得日后忘记。博文中的代码:链接:http://pan.baidu.com/s/1o8tqIMI 密码:m3si安装maven和配置1、下载maven.apache.org/download.html,下载apache-转载 2017-04-17 11:43:20 · 3730 阅读 · 1 评论 -
Spring事务异常回滚,捕获异常不抛出就不会回滚
最近遇到了事务不回滚的情况,我还考虑说JPA的事务有bug? 我想多了....... 为了打印清楚日志,很多方法我都加tyr catch,在catch中打印日志。但是这边情况来了,当这个方法异常时候 日志是打印了,但是加的事务却没有回滚。 例: 类似这样的方法不会回滚 (一个方法出错,另一个方法不会回滚) : [html] view p转载 2017-03-09 23:31:13 · 219 阅读 · 0 评论 -
Spring事务管理只对出现运行期异常进行回滚
使用spring难免要用到spring的事务管理,要用事务管理又会很自然的选择声明式的事务管理,在spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作。那么什么是检查型异常什么又是非检查型异常呢?最简单的判断点有两个:1.继承自runtimeexception或error的是非检查型异常,而继承自exceptio转载 2017-03-09 23:07:40 · 291 阅读 · 0 评论 -
Spring框架简介
1、使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合作,随即分工出现。如何划分模块,如何定义接口方便分工成为软件工程设计中越来越关注的问题。良好的模块化具有以下优势:可扩展、易验证、易维护、易分工、易理解、代码复用。 优良的模块设计往往遵守“低耦合高内聚”的原则。而“框架”是对开发中良好设计的总结,把设计中经常使转载 2017-02-15 10:20:18 · 357 阅读 · 0 评论 -
Spring IOC容器基本原理
2.2.1 IOC容器的概念IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。Spring IOC容器如何知道哪些是它管理的对象呢?这就需要配置文件,Spring IOC容器通过读取配置文件中转载 2017-02-16 08:24:41 · 187 阅读 · 0 评论 -
Spring AOP 实现原理
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定转载 2017-02-16 08:28:50 · 163 阅读 · 0 评论 -
详解java序列化(二)
好的,继续为大家 带来上一篇文章——详解Java序列化(一)http://blog.csdn.net/moreevan/article/details/6697777中最后第2个问题的解答。第2个问题:Object是每个类的超类,但是它没有实现 Serializable接口,但是我们照样在序列化对象,所以说明一个类要序列化,它的父类不一定要实现Serializable接口。但是在父类中定义转载 2017-02-16 08:54:28 · 151 阅读 · 0 评论 -
Spring AOP详解
一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Obje转载 2017-03-08 09:10:10 · 163 阅读 · 0 评论 -
Spring AOP进行日志记录,管理 (使用Spring的拦截器功能获取对action中每个方法的调用情况,在方法调用前
在Java开发中日志的管理有很多种。我一般会使用过滤器,或者是spring的拦截器进行日志的处理。如果是用过滤器比较简单,只要对所有的.do提交进行拦截,然后获取action的提交路径就可以获取对每个方法的调用。然后进行日志记录。使用过滤器的好处是可以自己选择性的对某一些方法进行过滤,记录日志。但是实现起来有点麻烦。 另外一种就是使用Spring的AOP了。这种方式转载 2017-03-09 10:34:42 · 338 阅读 · 0 评论 -
spring之BeanFactory
spring的IOC容器能够帮我们自动new对象,对象交给spring管之后我们不用自己手动去new对象了。那么它的原理是什么呢?是怎么实现的呢?下面我来简单的模拟一下spring的机制,相信看完之后就会对spring的原理有一定的了解。 spring使用BeanFactory来实例化、配置和管理对象,但是它只是一个接口,里面有一个getBean()方法。我们一般都不直接用BeanFac转载 2017-03-09 13:09:11 · 232 阅读 · 0 评论 -
SSM框架下声明式事务管理(注解配置方式)
一、spring-mybatis.xml文件中加入事务管理配置二、在调用的方法上加上@Transactional注解(必须为public方法才行,不要捕捉异常,要让异常自动抛出,否则不能进行事务回滚。方法要写在服务层中在controller中无效) @Transactional @Override public void transaction转载 2017-03-09 16:06:59 · 1004 阅读 · 0 评论 -
Mybatis批量更新数据库与批量插入数据库(以oracle为例)
一、批量更新1、普通写法(一条记录update一次,性能比较差,容易造成阻塞。不建议使用)update id="updateBatch" parameterType="java.util.List"> foreach collection="list" item="item" index="index" open="" close="" separator=";"转载 2017-03-09 16:09:54 · 3481 阅读 · 1 评论 -
spring-spring mvc-mybatis 实现主从数据库配置
一、配置文件1、spring-mybatis.xmlmaster_driverUrl=jdbc:mysql://localhost:3306/shiro?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=truemaster_us转载 2017-03-09 16:11:17 · 336 阅读 · 0 评论 -
Java transient简介
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,诚然,你可以让这个类来实现Exte转载 2017-03-09 16:37:22 · 189 阅读 · 0 评论 -
spring + mybatis @Transactional @Rollback 单元测试
今天我说一个这个单元测试的时候发生的惨案 , 具体的这个方面的配置, 大家在网上可以搜到一大堆 . 我也提供一个源码供大家使用 -- > 附件 我的源码里面的配置以及写法都和网上大神们交代的是一样的 , 但是死活就是不行 . 我将spring的配置过了一遍 , 然而还是没有得到答案 . 之后, 我更换了数据库的datasource ,但还是不行 . 最后我翻山越岭最终再一转载 2017-03-09 17:11:49 · 972 阅读 · 0 评论 -
Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记。类似下面这段代码一样获取插入后的主键User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能")...原创 2018-07-19 09:26:39 · 209 阅读 · 0 评论