随笔分类 - java
spring3-struts2整合
摘要:spring 负责对象创建 struts 用Action处理请求 说明: spring版本:spring-framework-3.2.5.RELEASE struts版本:struts-2.3.30 commons-fileupload-1.3.2.jarcommons-io-2.2.jarcomm
阅读全文
Java -Xms -Xmx -XX:PermSize -XX:MaxPermSize
摘要:背景 在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等。 这是个让开发人员很痛苦、也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生。 所以我们不得不通过不断的优化自己的代码结构,重构了一次又一次。 虽然说不断的重构自己的代码对
阅读全文
MyEclipse常用设置
摘要:中文乱码设置:1.window-->preference-->general-->content type然后在<Content Types>中展开每一颗子项,并在<Default encoding>中输入"UTF-8 "或"GB18030 ", 点update!2.window-->prefere
阅读全文
spring3-hibernate3整合
摘要:Spring与Hibernate整合关键点: 1) Hibernate的SessionFactory对象交给Spring创建; 2) hibernate事务交给spring的声明式事务管理。 SH整合步骤: 1)引入jar包 连接池/数据库驱动包 Hibernate相关jar Spring 核心包(
阅读全文
spring来了-05-JDBC
摘要:概述 JDBC: 使用DataSource 使用JdbcTemplate: 1)引入jar文件 spring-jdbc-3.2.5.RELEASE.jar jdbc支持包 spring-tx-3.2.5.RELEASE.jar 事务包 c3p0-0.9.1.2.jar c3p0 mysql-conn
阅读全文
spring来了-06-事务控制
摘要:概述 编程式事务控制 自己手动控制事务,就叫做编程式事务控制。 Jdbc代码: Conn.setAutoCommite(false); // 设置手动控制事务 Hibernate代码: Session.beginTransaction(); // 开启一个事务 【细粒度的事务控制: 可以对指定的方法
阅读全文
spring来了-04-AOP
摘要:概述 aspect object programming 面向切面编程 功能:可以实现“业务代码”与“关注点代码”分离 关注点代码:就是指重复执行的代码 业务代码:核心的业务功能 运行期间,执行核心业务代码的时候动态植入关注点代码【代理】 关注点代码:就是指重复执行的代码 业务代码:核心的业务功能
阅读全文
代理模式-细细道来
摘要:概述 代理(Proxy) 是一种设计模式,提供了对目标对象的另外一种访问方式,即通过代理访问目标对象,这样的好处是,可以在目标对象的基础上,增强额外的功能操作,扩展目标对象的功能。 举例:明星(邓紫棋)< 经纪人< 用户 目标对象 代理对象 静态代理(一般不用) 代理对象要实现与目标对象一样的接口
阅读全文
spring来了-02-HelloWorld
摘要:spring的各个版本说明: 在3.0以下的版本,源码有spring中相关的所有包[spring功能+依赖包],如:2.5版本 在3.0以上的版本,源码中只有spring的核心功能包[没有依赖包],如果要用依赖包,需要单独下载! 核心的5个jar包,必需的 commons-logging-1.1.3
阅读全文
spring来了-03-bean创建细节
摘要:scope="singleton", 默认值,即默认是单例 【service/dao/工具类】 scope="prototype", 多例 【Action】 1 @Test 2 public void testScope() throws Exception { 3 ApplicationConte
阅读全文
spring来了-01-概述
摘要:思考 对象数量 action 多个 [需要维护成员变量] service 一个 [不需要维护成员变量] dao 一个 [不需要维护成员变量] 创建时间 action 访问的时候创建 service 启动的时候创建 dao 启动的时候创建 action 多个 [需要维护成员变量] service 一个
阅读全文
老生常谈的Hibernate二级缓存
摘要:理解缓存的定义: 缓存(Cache): 计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存。 理解二级缓存的定义: Hi
阅读全文
粗颗粒度权限控制(使用过滤器完成)
摘要:分析: 精确到Session的权限控制(判断Session是否存在) 使用过滤器完成粗颗粒的权限控制,如果Session不存在就跳转到首页,如果存在可以通过URL链接访问到对应的操作。 第一步:定义一个过滤器: 第二步:在web容器中添加对应的过滤器: 总结: 在过滤器中定义放行的连接,因为不是每个
阅读全文
谈谈JPA-04-JPA的常用API
摘要:JPA相关接口/类: Persistence Persistence 类是用于获取 EntityManagerFactory 实例。该类包含一个名为 createEntityManagerFactory 的 静态方法 。 createEntityManagerFactory 方法有如下两个重载版本。
阅读全文
谈谈JPA-03-基本注解
摘要:@Entity @Entity 标注用于实体类声明语句之前,指出该Java 类为实体类,将映射到指定的数据库表。如声明一个实体类 Customer,它将映射到数据库中的 customer 表上。 @Table 当实体类与其映射的数据库表名不同名时需要使用 @Table 标注说明,该标注与 @Enti
阅读全文
谈谈JPA-02-HelloWorld
摘要:使用JPA持久化对象的步骤 创建 persistence.xml, 在这个文件中配置持久化单元 需要指定跟哪个数据库进行交互; 需要指定 JPA 使用哪个持久化的框架以及配置该框架的基本属性 创建实体类, 使用 annotation 来描述实体类跟数据库表之间的映射关系. 使用 JPA API 完成
阅读全文
谈谈JPA-01-概述
摘要:JPA和Hibernate的关系 JPA 是 hibernate 的一个抽象(就像JDBC和JDBC驱动的关系): JPA 是规范:JPA 本质上就是一种 ORM 规范,不是ORM 框架 —— 因为 JPA 并未提供 ORM 实现,它只是制订了一些规范,提供了一些编程的 API 接口,但具体实现则由
阅读全文
hibernate执行sql的三种方式
摘要:方式一:直接使用HibernateTemplate的find()方法,find方法支持执行hql语句 方式二:获取SessionFactory,再获取Session 方式三:使用hibernateTemplate调用回调函数
阅读全文
hibernate的懒加载问题
摘要:产生原因: 当使用hibernate查询一个对象的时候,如果Session关闭,再调用该对象关联的集合或者对象的时候,会产生懒加载异常! 解决方案: 方案一: 在Session关闭之前,查询对象关联的集合或者对象,所有在业务层的方法上添加: 1 public ElecUser findUserByL
阅读全文
浙公网安备 33010602011771号