您当前的位置: 首页 >  spring

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring05---静态代理

宝哥大数据 发布时间:2017-09-01 05:04:49 ,浏览量:0

23种设计模式07—代理模式 实现相同的接口,持有要代理对象
package com.chb.Spring.dao;

import javax.annotation.Resource;

import org.springframework.stereotype.Repository;

import com.chb.Spring.model.User;
import com.chb.Spring.utils.MyLogger;
/**
 * 静态代理
 * 实现一个代理类: 
 *      代理类实现 所需要修改累的接口
 *    注入一个对象, 通过这个对象进行修改的类操作, 
 *    并在实现方法内,添加所需要的信息
 * 这个满足了开闭原则, 不用修改源代码
 */
@Repository("userProxyDao")
public class UserProxyDao implements IUserDao{
    //注入一个IUSerDao对象, 并提供相应的getter setter方法
    private IUserDao userDao;

    public IUserDao getUserDao() {
        return userDao;
    }
    @Resource//默认通过名称注入
    public void setUserDao(IUserDao userDao) {
        this.userDao = userDao;
    }

    public void add(User user) {
        //添加的信息
        MyLogger.info("添加了用户");
        userDao.add(user);
    }

    public void delete(int id) {
        MyLogger.info("删除了用户");
        userDao.delete(id);

    }

    public void load(int id) {
        MyLogger.info("加载了用户");
        userDao.load(id);
    }


}
在UserService中注入代理对象
    //默认根据名称注入
    @Resource(name="userProxyDao")
    public void setUserDao(IUserDao userDao) {
        this.userDao = userDao;
    }
测试结果

这里写图片描述

问题: 就是静态代理的问题, 如果要代理的过多, 导致代理类爆炸式增长, 导致类过多。
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.1437s