`
文章列表
目前Spring提供的远程服务主要有: ◆RMI:借助于Spring提供的RmiProxyFactoryBean和RmiServiceExporter,开发者能够开发RMI应用。Spring同时支持两种方式开发RMI应用。其一,基于传统的方式,即同java.rmi.Remote和java.rmi.RemoteException配合使用。其二,基于RMI Invoker,即可使用任何java接口(从JDK5.0开始,引入了新的RMI开发模型,即通过动态代理实现RMI应用开发,类似于RMI Invoker。这使得开发者不用借助rmic实用工具生产RMI stub存根类,从而能够简化RMI开发模型,但 ...
在学习SQL时看到的一片很好的文章,特贴出来和大家一起分享! 我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为基础表, 交叉表是指那个被其他表所引用的表。 (2)WHERE子句中的连接顺序: Oracle采 ...
对于RDBMS相关的应用而言,应用提供的持久化服务很重要。 1.背景 借助于Spring框架提供的DAO抽象,开发者能够以统一的方式同数据访问技术(比如,JDBC、Hibernate、JDO、TopLink)进行交互。Spring DAO抽象允许开发者在不同数据访问技 ...
介绍   最近我开始使用Eclipse作为我的开发环境,部分原因是因为在我进行开发的许多平台上都可以使用Eclipse来工作,还有部分原因是因为Eclipse是展示人人皆可作出贡献的开放、可扩展环境的优势的一个极好的例子。我开始研究其他人提供的对Eclipse的扩展。例如,当用到xml文件时,我使用XMLBuddy插件。该插件对于我的工作很有助益。因为最近一直在写 Developer's Notebook,所以我很想知道是不是已经有人写了关于Hibernate的插件,事实上,有好几个这样的插件正在开发。在这篇文章中,我们将探索其中之一:Hibernate Synchronizer. Hibe ...
JMS即java消息服务。在JMS中JMS消息并不同应用直接交互,而是同JMS服务器的目的地(destination)进行交互,比如点对点(P2P)或者发布/订阅(Publish/Subscribe)。发送消息的应用程序不关注接收消息的应用程序是否正常工作,接受消息的应用程序也不关注发送消息的应用程序。他们仅仅同目的地进行交互。 Spring提供了JMS服务抽象框架,以简化对JMS API的使用。同时还能屏蔽不同JMS版本间的差异性。 1.背景 JMS,是能够异步处理客户请求的开发模型。为了支持消息的异步处理,java/J2EE平台引入了JMS API。JMS支持两种消息模型:点对点和发布/订阅 ...
Spring为事务管理提供一流的支持。它同时支持编程式和声明式事务。为实现健壮的企业级应用,事务能担当重要的作用。无论是使用编程式事务还是声明式事务,在开发Spring应用时,开发者都不需要对具体的事务管理实现进行交 ...
事务的提出主要是为了解决并发情况下保持数据一致性的问题。        事务具有以下4个基本特征。 ●   Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。 ●  ...
Spring框架的分成工作,即模块化,完成的非常好。 1)Spring核心模块:Spring框架中最为基础、重要的模块。它提供了Ioc容器,即依赖注入。其中BeanFactory是最为重要的概念,对于理解Ioc起到关键作用,对理解ApplicationContext也起到很重要的作用。 2)Spring AOP模块:实现了AOP联盟中定义的AOP编程实现。比如,提供拦截器实现事务管理。 3)Spring上下文(Context)模块:直接位于Spring核心模块之上,Spring上下文模块除了继承Spring核心模块的功能外,还添加了用于资源绑定、事件移植、资源装载以及透明的装载上下文等功能 ...
1.AOP及Spring AOP背景知识 Spring AOP由100% java开发完成,秉承java的一切优势。 目前,Spring AOP只实现了方法级的joinpoint,有些AOP实现支持域级的joinpoint,比如JBoss AOP、AspectJ。joinpoint(连接点模型)是指AOP Aspect能够在应用系统中执行的 ...
我们经常在properties文件中设置属性的时候,如果某一个属性的值太长,比如sql或者长的json串,那么查看就不太方便,但是又不能直接的换行,否则读取属性的值的时候其换行部分就被忽略了.其实我们可以通过增加一个\符号来达到换行的效果.如下: test.properties文件: name=Hello world \ My Name is ferreousbox     那么我们在读取name属性的时其值就变成了:Hello world My Name is ferreousbox.也就解决了在properties文件中换行书写的问题,只需要在每一行的最后增加一个\符号,注意其下一行必须 ...
ant是jakarta一个非常好的OpenSource子项目,是基于java的编译工具。下面简单介绍一下在linux环境中如何安装ant:   1.下载   从 http://ant.apache.org/bindownload.cgi 可以下载最新的tar包:apache-ant-1.6.2.tar.gz,如果是windows环境则是zip文件,解压后,在系统环境变量里设置 ANT_HOME为f:\project\tools\apache-ant-1.6.2,并将f:\project\tools\apache- ant-1.6.2\bin目录添加到classpath中,然后就可以使用了   ...
Gof曾提出,针对接口编程,而不是实现。 通常情况下,开发者将业务对象抽象为Java接口,然后将各个业务共性的内容实现为抽象类,并继承于Java接口。继而,再依据具体的业务操作类型,实现业务对象,并继承于抽象类。其明显含义是:子类只能添加或者重载操作,而不能隐藏父类的操作。最终,实现了抽象类的具体业务实现类能够响应抽象类继承的接口发送的请求操作。 1.背景 Ioc设计模式,重点关注组件的依赖性、配置以及生命周期。Ioc也适用于简单类,而不只是组件。昵称Dependency Injection(依赖注入)。 Ioc将创建对象实例的任务交给Ioc容器或者框架(注,实现了Ioc设计模式的框架,有时候也 ...
转自:http://blog.csdn.net/fh13760184/archive/2009/05/06/4153734.aspx Process p = Runtime.getRuntime().exec("my command ..."); int c = p.waitFor(); if (c != 0) { System.out.prinln("处理失败"); BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream ...
转自:http://blog.csdn.net/moreorless/archive/2009/05/14/4182883.aspx 有时,我们需要在java程序中调用外部程序,我们可用通过Runtime.exec()调用来完成。 The class java.lang.Runtime features a static method called getRuntime(), which retrieves the current Java Runtime E ...
一个insert into可以有一个values与之对应。 要放入多条数据可以用    insert   into   tab_name1(col1,col2,col3...)    select   col1,col2,col3...    from   tab_name2    where   ...; 
Global site tag (gtag.js) - Google Analytics