`
文章列表
设计细颗粒度的持久类并且使用<component>来实现映射。 例如使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利于代码重用和简化代码重构(refactoring)的工作。 对持久类声明标识符属性( identifier properties)。 Hibernate中标识符属性是可选的,不过有很多原因来说明你应该使用标识符属性。我们建议标识符应该是“人造”的(自动生成,不涉及业务含义)。 使用自然键(natural keys)标识 对所有的实体都标识出自然键,用<natural-id>进行映 ...
  整体流程 1:通过configuration来读cfg.xml文件 2:得到SessionFactory 工厂 3:通过SessionFactory 工厂来创建Session实例 4:通过Session打开事务 5:通过session的api操作数据库 6:事务提交 7:关闭连接   说明:以下分方法描述的实现流程并不是Hibernate的完整实现流程,也不是Hibernate的完整实现顺序,只是描述了Hibernate实现这些方法的主干和基本方式,主要是用来理解这些方法背后都发生了些什么,如果需要详细完整的实现流程,请查阅Hibernate相应文档和源代码
Hibernate本身没有事务的实现 Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。也就是说你在Hibernate里面使用的事务要么是JDBC的事务,要么是JTA的事务。 Hibernate不锁定内存中的对象 你的应用程序会按照你的数据库事务的隔离级别规定的那样运作,真正对事务的实现和支持也依赖于数据库。   对于并发处理,Hibernate提供了乐观锁和悲观锁来进行并发处理 Hibernate对自动乐观并发控制提供版本管理,针对行级悲观锁定,Hib
简介 Spring提供的DAO(数据访问对象)支持主要的目的是便于以标准的方式使用不同的数据访问技术,如JDBC,Hibernate或者JDO等。它不仅可以让你方便地在这些持久化技术间切换, 而且让你在编码的时候不用考虑处理各种技术中特定的异常。 一致的异常层次 Spring提供了一种方便的方法,把特定于某种技术的异常,如SQLException, 转化为自己的异常,这种异常属于以 DataAccessException 为根的异常层次。这些异常封装了原始异常对象,这样就不会有丢失任何错误信息的风险。 如果使用拦截器方式,你在应用中 就得自己小心处理HibernateExcepti ...
启用@AspectJ支持 通过在你的Spring的配置中引入下列元素来启用Spring对@AspectJ的支持: <aop:aspectj-autoproxy/> 声明一个方面 在application context中定义的任意带有一个@Aspect切面(拥有@Aspect注解)的bean都将被Spring自动识别并用于配置在Spring AOP。 配置如:
AOP是什么(Aspect   Oriented   Programming) AOP是一种编程范式,提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 AOP为开发者提供了一种描述横切关注点的机制,并能够自动将横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化。  AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。 AOP能干什么,也是AOP带来的好处 1:降低模块的耦合度 2:使系统容易扩展
通过<list/>、<set/>、<map/>及<props/>元素可以定义和设置与Java Collection类型对应List、Set、Map及Properties的值 ,示例如下: java代码: 查看复制到剪贴板打印
IoC——Inversion of Control,控制反转 在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。IoC是一种让服务消费者不直接依赖于服务提供者的组件设计方式,是一种减少类与类之间依赖的设计原则。   DI——Dependency Injection(依赖注入) 即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。 依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用的概率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可 ...
整体流程 1:通过configuration来读cfg.xml文件 2:得到SessionFactory 工厂 3:通过SessionFactory 工厂来创建Session实例 4:通过Session打开事务 5:通过session的api操作数据库 6:事务提交 7:关闭连接   说明:以下分方法描述的实现流程并不是Hibernate的完整实现流程,也不是Hibernate的完整实现顺序,只是描述了Hibernate实现这些方法的主干和基本方式,主要是用来理解这些方法背后都发生了些什么,如果需要详细完整的实现流程,请查阅Hibernate相应文档和源代码
认识Spring Spring是什么 Spring是一种轻量级的、非侵入式的Java/JavaEE应用框架     Spring背景 Rod Johnson 《Expert One-on-One J2EE Design and Development》(2002)这本书的中文译本为《J2EE 设计开发编程指南》(2003) 半年后,一个新的Java Framework发布,同样出自Rod Johnson 的手笔,这自然引起了大家极大的兴趣,这就是SpringFramework。SpringFramework 实际上是《Expert One-on-One J2EE Desig ...
性能提升 有两个编写有效代码的基本规则: 1:不要做你不需要做的。 2:不分配没必要分配的内存。   应该尽量避免创建多余的对象,比如: 1:在一组输入数据中抽取字符串时,尝试返回源数据的子串,而非创建一 ...
Hibernate本身没有事务的实现 Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。也就是说你在Hibernate里面使用的事务要么是JDBC的事务,要么是JTA的事务。 Hibernate不锁定内存中的对象 你的应用程序会按照你的数 ...
基于Socket的网络编程 Android的网络编程部分,基本上和Java的网络编程是一样的,基本上也分成两种,一种是基于Socket的,另外一种是基于Http协议的。 基于Socket的基本用法,跟Java里面的用法一样,简单回顾一下: 一:服务端 1:启动一个服务器端的socket:ServerSocket server = new ServerSocket(1234); 2:开始侦听请求:Socket client = server.accept(); 3:取得输入和输出流: 4:然后就可以通过流来进行网络传输了 5:最好要记得关闭流和Server ...
Hibernate本身没有事务的实现 Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。也就是说你在Hibernate里面使用的事务要么是JDBC的事务,要么是JTA的事务。 Hibernate不锁定内存中的对象 你的应用程序会按照你的数 ...
简介 Android的多媒体框架,在2.3之前是采用的Open Core,在2.3之后采用的是Stagefright。不管框架的内部实现如何变化,对外提供的API都是一样的。 Android的多媒体框架提供了对大多数主流多媒体格式的支持,使得我们能够很方 ...
Global site tag (gtag.js) - Google Analytics