- 博客(41)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 iBATIS学习01:iBATIS概览+iBATIS十分钟快速上手操练
iBATIS概览+iBATIS十分钟快速上手操练【iBATIS概览】iBATIS是一个持久框架,可用来配置 Java 类的属性和 RDBMS 内的表列之间的映射。在配置时,此框架负责处理 JDBC 连接和分配。可以使用 XML 文件配置 iBATIS。iBATIS 主要的设计目的是为了让我们执行 SQL 时对输入输出的数据管理更加方便,所以如何方便的让我们写出 SQL 和方便的获取 S
2016-05-12 11:06:50
620
原创 深入JAVA002_对象的发布和逃逸 --this解惑
最近研读java并发编程,其中作者在提到对象的发布和逃逸的时候,讲到两种可能会发生this发布和逃逸的用法,但是单凭文章不能很好理解,所以,查阅相关资料做了相关实验,做一下记录,以作备忘。首先说明一下什么是this逃逸:this逃逸就是说,在构造函数返回之前,其他线程就已经取得了该对象的引用,由于构造函数还没有完成,所以,对象也可能是残缺的,所以,取得对象引用的线程使用残缺的对象极有可能发生错
2015-05-13 13:15:48
5298
原创 Spring学习_08_Spring整合Hibernate+Struts
有很长一段时间没有写博客,今天写一个SSH小小的Demo作为自己SSH学习的一个阶段总结。本文给出写这个demo的一些小知识点和一些要注意的事项,记录在此,作为自己的备忘。1:我们在开发项目的时候,针对功能做Junit测试的时候,一定不可以破坏数据现场,所以做Junit测试的时候,插入到数据库的数据一定要记得删除。当然,我们可以借助于Spring自动化测试框架TestContext来做测试
2015-04-25 13:32:19
441
原创 设计模式学习004——单例模式Singlton
单例模式:当一个类被设计成单例模式后,就可以保证任何时候,该类对应的实例永远就只有一个对象。那如何实现单例呢?只要保证如下几点就可以了。第一:一定不可以让用户通过关键字new来创建对象。(只提供private的构造器)第二:该类要提供一个接口给外界使用此类的对象。(getInstance()方法)下面我们给出我们的代码:public class SingltonInstance
2015-03-26 14:32:30
637
原创 Spring学习_07_Spring整合Hibernate(HibernateTemplate,HibernateDaoSupport)
Spring整合Hibernate的时候,Spring内部提供了对Hibernate的封装,也就是HibernateTemplate、HibernateDaoSupport这两个类,以前自己写Hibernate来操作数据库的时候,我们要自己在代码中先取得SessionFactory,然后在取得Session,然后在用Session操作数据库,最后还要自己处理事务的提交,或者事务的回滚,以及数据库连
2015-03-24 21:06:51
792
原创 设计模式学习003——工厂模式(工厂方法、抽象工厂),简单工厂【也叫静态工厂】
本文讲解三个主要概念,简单工厂、工厂方法模式、抽象工厂模式。首先,简单工厂也即静态工厂,当然也可以不是,但是因为我们常常把简单工厂中产生对象的方法声明为static的,所以就有了静态的由来。下面首先我们看一个例子:如果
2015-03-23 20:22:59
423
原创 Spring学习_06_Spring中事物属性(XML方式)重要
在Spring中的事务中,xml的配置方式很重要,因为它可以通过一些特殊表达式仅仅是简单设置就可以为所有或者部分业务层的方法加上事务控制。这在业务层逻辑十分复杂,或者业务层方法十分多的时候无意是十分方便的。下面就将前面的事物配置转到XML中进行配置。首先,删除掉前面的事物控制的annotation。代码如下:@Service("userService")public class Us
2015-03-19 20:49:06
478
原创 Spring学习_05_Spring中事物属性
在前面的“Spring学习_04_Spring和Hibernate整合数据源(DataSource)”一文中,我们没有指定我们事务的属性,现在我们为其加上我们事务的属性。更改我们service的代码如下: @Transactional(propagation=Propagation.REQUIRED,readOnly=false) public void add(User user) { u
2015-03-19 20:22:24
469
原创 设计模式学习002——装饰者模式
设计模式中有一个黄金法则:慎用继承,多用组合。如果使用继承,一旦需求改变,这个时候一般都需要去改代码。这样就会造成耦合性太高,维护成本加大。但是使用组合,则可以很好的来解决一些问题。关于装饰者有五条规则:第一:装饰者和被装饰者对象要有相同的超类型。这样把被装饰者包装者的被装饰者给别人看的时候,才不会引起类型混乱。第二:一个被装饰者可以被多个装饰者进行多次包装。第三:既然装饰者和
2015-03-16 20:49:24
475
原创 Spring学习_04_Spring和Hibernate整合数据源(DataSource)
首先,说明一下DataSource是什么?DataSoure中有一个getConnection方法,说明DataSource管理着数据库的连接,所以一般将其称为连接池。DataSource是一个抽象类,具体有很多的实现。比如Spring中常用的DBCP,Hibernate中常用的C3PO,以后不太常用的proxool。那么下面我们首先来配置一个使用数据源的例子程序搭建起来。分为如下几步:第
2015-03-13 19:04:33
2309
原创 Spring学习_03_AOP在Spring中的两种实现方式
在Spring中有两种方式实现AOP,一种方式是Annotation,另外一种方式就是XML的方式。在Spring中,本身有自己的一套实现动态代理的机制(AOP的核心就是动态代理),但是其自己本身的机制在开发中一般很少使用,使用的最多的就是使用AspectJ框架。(AspectJ是专门用来实现动态代理的框架)。Annotation方式通过以下基本来实现:第一步:在项目的classpath中
2015-03-10 22:26:04
656
原创 Spring学习_02_AOP原理-动态代理
Spring AOP核心机制就是JDK中的动态代理。如何实现动态代理有两种方式:1:代理对象和被代理对象实现同样接口,这样,代理对象就可以代理被代理的对象来完成所有事宜(调用方法)。要求被代理的对象一定要实现相应的接口。2:被代理的对象可以不实现接口,也可以直接以被代理对象的二进制码的方式来直接为其生成代理对象,hibernate、spring中就是这样完成的。这里所讲的是JDK中动态
2015-03-09 22:17:12
389
原创 设计模式学习001——观察者模式
观察者模式中的观察者和被观察者类似于“订阅者”和“报社”的关系。订阅者作为报社的观察者来观察报社的状态,一旦报社的状态发生变更(出了新报纸),订阅者就可以做出相应的相应(订阅者去报社取阅报纸),同时,一个订阅者也可以在任何时候去订阅或者取消订阅一个报社的报纸(类似于观察者可以随时监听和取消监听一个被监听对象的状态),同时一个订阅者也可以同时订阅多家报社的报纸(类似于一个观察者可以同时观察多个对象的
2015-03-05 23:50:40
403
原创 Hibernate学习_020_一级缓存+二级缓存+三级缓存(查询缓存)
Hibernate中存在三种缓存:1:一级缓存:Session级别的缓存,Iterate()
2014-11-23 19:00:31
624
原创 Hibernate学习_019_list()&iterate()区别
在Hibernate中我们遍历表的时候,有两个方法可以使用。一个是list(),一个是it
2014-11-23 18:29:17
359
转载 常见SVN图标的含义
本文转载于:http://my.oschina.net/coda/blog/33678项目视图 The Package Explorer view - 已忽略版本控制的文件。可以通过Window → Preferences → Team → Ignored Resources.来忽略文件。A file ignored by version con
2014-10-19 12:57:36
313
转载 Eclipse中如何修改SVN的地址
Eclipse中如何修改SVN的地址在工作环境调整时,有的时候SVN服务器的地址需要修改,而正在开发中的项目在Eclipse中有些代码没有提交,此时怎么修改SVN的地址呢?以下有一个简单的办法:一、在Eclipse中选择Windows-> Show View->others 就会出现如图: 选中SVN资源库,会出现如下图所示的画面 然后选中
2014-10-13 09:14:54
360
转载 eclipse中svn插件的安装与使用
一. eclipse中svn插件的安装Install Subclipse in Eclipse 3.X(参考官网http://subclipse.tigris.org/)打开eclipse->Help->Install New Software 出现如下页面 点击Add按钮,根据自己需要的版本填写name和url Na
2014-10-13 09:11:05
597
原创 Eclipse问题解决心得01--Debug运行提示cannot connect to VM 的解决方法
在使用Eclipse进行D的时候,常常会出现
2014-10-12 11:16:16
17156
4
原创 Hibernate学习_007_get()与load()的区别
当要从数据库中加载一个对象的时候,我们常常会使用两个方法,load()方法和get()
2014-08-14 21:35:10
450
原创 Hibernate学习_005_Hibernate 中关于SessionFactory、Session接口的理解
SessionFactory,Session作为Hibernate中的两个核心接口,几乎所有涉及到数据库的操作都必须通过这两个接口来实现。简言之,SessionFactory 就是Session的工场,我们可以将SessionFactory看做是一个具体数据库在内存的映射,也可以将SessionFactory看作是一个具体数据库对应的连接池。而我们每次通过Session来操作数据,可以将Ses
2014-08-13 21:10:39
699
原创 Hibernate学习_002_web开发中一些剪不断、理还乱的关系总结(持续更新)
掐指一算,从大二开始学习java,到用MVC servlet开发学校简单的
2014-08-06 22:55:07
545
GEF中如何实现拉伸图片?
2014-12-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人