摘要:
普通代理的缺点是要针对每个接口和实现类写一个代理类,动态代理从代码上简化了此项工作。在JDK中通过继承InvocationHandler 实现动态代理,根据一个实现类自动生成一个继承了该实现类接口的实现对象,并可以自定义在接口方法执行前后的操作。一、接口定义package com.casic.test.JdkProxy;public interface UserService { // 添加用户 public void addUser(); // 删除用户 public void deleteUser(); // 查询用户 public void queryUsers();}二、实现类定义pa 阅读全文
摘要:
代理一般用于给多个的类实现相同的方法,如记录日志、权限控制等等。普通代理的实现步骤如下:一、定义接口package com.casic.test.proxy;public interface UserService { /** * 添加用户 */ public void addUser(); /** * 删除用户 */ public void deleteUser(); /** * 查询用户 */ public void queryUsers();}二、接口实现public class UserServiceImpl implements UserService { public void a 阅读全文
摘要:
一、Bean 工厂的定义package com.casic.test;import java.util.Properties;public class BeanFactory { // 声明配置属性 private static Properties props; // 模拟加载配置文件信息 static { props = new Properties(); // UserDao 的实现方法定义 props.put("UserDao", "com.casic.test.spring.UserDaoImpl"); } /** * 获取Bean 工厂的实例 阅读全文
摘要:
单例就是保证类只有一个实例,创建方法:1. 声明一个类自身的实例(不进行初始化—懒汉式);2. 创建类的私有无参构造方法,保证外部无法创建;3. 创建一个公有静态方法,返回当前静态实例,注意保证线程安全。package com.casic.test;public class MyFactory { // 一、必须使用静态声明当前类的私有化实例 private static MyFactory instance; /** * 二、懒汉式单例模式创建 * @return */ public static MyFactory getInstance() { // 如果为空,开始创建实例 if(ins 阅读全文