随笔分类 -  Web开发

摘要:JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。JPA是JSR-220(EJB3.0)规范的一部分,在JSR-220中规定实体对象(EntityBean)由JPA进行支持。所以JPA不局限于EJB3.0,而是作为POJO持久化的标准规范,可以脱离容器独立运行,开发和测试更加方便。下面通过一张图来看一下JPA的基本概念。然后再做简要分析。注:不是真正意义的UML图啊,只是画着方便就用rose了。一、EntityManager,EntityManagerFactory,PersistenceContext三者的关 阅读全文
posted @ 2013-05-30 08:39 java程序员填空 阅读(231) 评论(0) 推荐(0)
摘要:Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。pg:pager 这个标签用来设置分页的总体参数,一切分页标签都在其内工作。 url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数 items:总记录数,pager标签正是根据这个值来计算分页参数的 maxPageItems:每页显示的行数,默认为10 maxIndexPage... 阅读全文
posted @ 2013-05-21 08:35 java程序员填空 阅读(123) 评论(0) 推荐(0)
摘要:一、为什么使用ANT当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。概念到处都是,随处可查。ant就是一个构建工具,又不局限于构建。什么是构建?形象来说,就是把代码从某个地方拿来,编译,再拷贝到某个地方去运行等等操作。什么叫不局限于构建?ant主要用来做 阅读全文
posted @ 2013-05-20 09:11 java程序员填空 阅读(159) 评论(0) 推荐(0)
摘要:IoC,Inversion Of Control 即控制反转,由容器来管理业务对象之间的依赖关系,而非传统方式中的由代码来管理。其本质,即将控制权由应用程序代码转到了外部容器,控制权的转移就是所谓的反转,其带来的最大的好处是降低了业务对象之间的依赖程度,即实现了解耦。Spring的IoC容器主要使用DI(Dependency Injection,依赖注入)方式实现的。不需要主动查找,对象的查找、定位和创建全部由容器管理,容器会将符合依赖关系的对象通过属性(setter等)或者构造函数传递给需要的对象。使用IoC可以带来以下好处:1、查询依赖操作和应用代码分离,大量减少了Factory和Sing 阅读全文
posted @ 2013-05-01 11:16 java程序员填空 阅读(113) 评论(0) 推荐(0)
摘要:首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。Spring一方面作为一个轻量级的IoC容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使Struts和Hibernate更好地工作。由SSH构建系统的基本业务流 阅读全文
posted @ 2013-04-25 10:00 java程序员填空 阅读(336) 评论(0) 推荐(0)
摘要:Win7(64) + eclipse(64)+ tomcat7(64)+ jdk7(64)开发环境配置一直开发都是用myeclipse,这次尝试了一下eclipse,并且开发工具全部采用最新版本,配置的时候出现了各种各样的问题,总算总结出一个标准步骤,和大家分享一下。一、到官网下载文件,全部选择for window 64位最新版本二、安装配置1、解压apache-tomcat-7.0.39-windows-x64,版本:tomcat7 for windows 64位,配置环境变量JAVA_HOME,值为tomcat安装目录,并将%JAVA_HOME%/bin加到系统变量path下;2、安装jd 阅读全文
posted @ 2013-04-25 09:41 java程序员填空 阅读(188) 评论(0) 推荐(0)
摘要:java项目概览:XmlManage.javapackage com.jialin;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;imp 阅读全文
posted @ 2013-04-22 08:24 java程序员填空 阅读(207) 评论(0) 推荐(0)
摘要:什么是AOP?AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。为什么使用AOP?将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。我们把这种行为称为"分散关注" AOP就是这种实现分散关注的编程方法,它将“关注”封装在“方面”中。AOP的本质可以理解为"动态代理模式",想想代理模式的作用就更容易理解 阅读全文
posted @ 2013-04-18 13:04 java程序员填空 阅读(170) 评论(0) 推荐(0)
摘要:Lazy:延迟加载,在真正使用某个对象的时候才正真的去创建,即hibernate才会正真的发出sql语句去加载该对象Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。lazy策略可以用在:1、 <class>标签上:可以取值true/false* <property>标签上,可以取值true/false,这个特性需要类增强(不常用)* 设置<class>标签中的lazy="true",或是保持默认(即不配置lazy属性)* 如果lazy的属性值为true,那么在使用load方法加载数据时,只有确 阅读全文
posted @ 2013-04-15 14:10 java程序员填空 阅读(167) 评论(0) 推荐(0)
摘要:性能优化是一个很大的话题,大到程序架构优化,数据库设计等,小到一个特定算法,甚至js优化等等。这里我们只简单谈一下hibernate的性能优化。在使用Hibernate的时候,通过正确的方法和策略,可以提高执行效率。(一)抓取策略抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。例如单端代理,集合代理,批量抓取等设置方式通常为*fetch="join 阅读全文
posted @ 2013-04-13 20:15 java程序员填空 阅读(129) 评论(0) 推荐(0)
摘要:集合映射主要包括:set、list、array、map的映射对象模型:映射后的关系模型:映射文件:<hibernate-mapping> <class name="com.jialin.hibernate.CollectionMapping" table="t_collection_mapping"> <id name="id"> <generator class="native"/> </id> <property name="name& 阅读全文
posted @ 2013-04-12 16:04 java程序员填空 阅读(169) 评论(0) 推荐(0)
摘要:Component映射在hibernate中Component映射采用<component>标签即可Component是某个实体的逻辑组成部分,它与实体类的主要差别在于,它没有oidComponent在DDD中被称为值类采用Component的好处:实现对象模型的细粒度划分,复用率高,含义明确,层次分明对象模型与关系模型的设计恰恰相反,对象模型一般是细粒度的,关系模型一般是粗粒度的示例:对象模型:关系模型:映射文件:Employee.hbm.xml<hibernate-mapping> <class name="com.jialin.hibernate. 阅读全文
posted @ 2013-04-10 16:44 java程序员填空 阅读(169) 评论(0) 推荐(0)
摘要:对象模型示例:继承映射的实现方式有三种:(一)每棵类继承树一张表关系模型:映射文件:<hibernate-mapping package="com.jialin.hibernate"> <class name="Animal" table="t_animal" lazy="false"> <id name="id"> <generator class="native"/> </id> <discriminato 阅读全文
posted @ 2013-04-09 16:05 java程序员填空 阅读(167) 评论(0) 推荐(0)
摘要:单向多对多关联映射单向多对多关联对象模型:映射后的关系模型:多对多映射,会产生第三张表来维护关系映射文件:User.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package=& 阅读全文
posted @ 2013-04-07 17:02 java程序员填空 阅读(88) 评论(0) 推荐(0)
摘要:单向一对多关联映射映射后的关系模型:映射文件:一对多关联映射和多对一关联映射映射原理是一致的,都是在多的一端加入一个外键,指向一的一端它们的区别在于维护的关系不同:* 多对一维护的关系是:多指向一的关系,有了此关系,在加载多的时候可以将一加载上来* 一对多维护的关系是:一指向多的关系,有了此关系,在加载一的时候可以将多加载上来Group.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN 阅读全文
posted @ 2013-04-06 10:01 java程序员填空 阅读(153) 评论(0) 推荐(0)