摘要:定义了一个类: Java代码 @Service public class StringTest implements CachedRowSet,SortedSet<String>,Cloneable Java代码 Java代码 Java代码 @Controller public class Home
阅读全文
摘要:1、问题 Java代码 Connection conn = DataSourceUtils.getConnection(); //开启事务 conn.setAutoCommit(false); try { Object retVal = callback.doInConnection(conn);
阅读全文
摘要:1、问题 1、JDBC/ORM框架(如Hibernate)开发中编程模型有哪些缺点? 如JDBC 2、解决方案(模板设计模式,本质:将可变的和不可变的分离) 模板方法模式:定义操作的步骤(固定的),将可变的步骤交给子类处理。 Java代码 public interface JdbcOperation
阅读全文
摘要:现在有一个bean包含了私有属性,如下: Java代码 @Component public class Bean { String name; public String getName() { return name; } public void setName(String name) { th
阅读全文
摘要:问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法一律不出现,debug后发现这个servie实例被spring替换成jdkdynmicproxy类,
阅读全文
摘要:Struts2前身是WebWork,核心并没有改变,其实就是把WebWork改名为struts2,与Struts1一点关系没有。 Struts2中通过ObjectFactory接口实现创建及获取Action实例,类似于Spring的IoC容器,所以Action实例可以由ObjectFactory实现
阅读全文
摘要:事务必需满足ACID(原子性、一致性、隔离性和持久性)特性,缺一不可: 原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做; 一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是处于正确的状态,即数据完
阅读全文
摘要:传统应用程序开发中,进行JDBC编程是相当痛苦的,如下所示: Java代码 //cn.javass.spring.chapter7. TraditionalJdbcTest @Test public void test() throws Exception { Connection conn = n
阅读全文
摘要:启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: <aop:aspectj-autoproxy/> <aop:aspectj-autoproxy/> <aop:aspectj-autoproxy/> 这样Spring就能发现@Aspect
阅读全文
摘要:支付部分,定义IPayService接口并定义支付方法“pay”,并定义了两个实现:“PointPayService”表示积分支付,“RMBPayService”表示人民币支付;并且在每个支付实现中支付逻辑和记录日志 记录日志时,如果使用oop,则每个接口的实现类里重复编写日志的代码,aop就是为了
阅读全文
摘要:处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、读取资源、关闭资源),
阅读全文
摘要:什么是作用域呢?即“scope”,在面向对象程序设计中一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。 Spring提供“singleton”和“prototype”两种基本作用域,另外提供“request”、“session”、“
阅读全文
摘要:延迟初始化Bean 延迟初始化也叫做惰性初始化,指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean。 配置方式很简单只需在<bean>标签上指定 “lazy-init” 属性值为“true”即可延迟初始化Bean。 Spring容器会在创建容器时提前初始化“singleton”作用域
阅读全文
摘要:Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制(传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象)。 有了I
阅读全文