当前位置: 首页 > news >正文

汕头网站制作后缀学做网站论坛可信吗

汕头网站制作后缀,学做网站论坛可信吗,济南网站建设vashine,app制作网站收费吗服务引用代理类在Stackoverflow中有一个有趣的问题 #xff0c;关于Spring Bean如何获​​得对由Spring创建的代理的引用以处理事务#xff0c;Spring AOP#xff0c;缓存#xff0c;异步流等。需要对代理的引用#xff0c;因为如果存在对自身的调用通过代理bean#xff… 服务引用代理类 在Stackoverflow中有一个有趣的问题 关于Spring Bean如何获​​得对由Spring创建的代理的引用以处理事务Spring AOP缓存异步流等。需要对代理的引用因为如果存在对自身的调用通过代理bean此调用将完全绕过代理。 考虑一个InventoryService接口 public interface InventoryService{public Inventory create(Inventory inventory);public ListInventory list();public Inventory findByVin(String vin);public Inventory update(Inventory inventory);public boolean delete(Long id);public Inventory compositeUpdateService(String vin, String newMake); } 还请考虑该服务的默认实现并假定最后一个方法CompositeUpdateService内部在Bean本身上调用两个方法如下所示 public Inventory compositeUpdateService(String vin, String newMake) {logger.info(composite Update Service called);Inventory inventory this.findByVin(vin);inventory.setMake(newMake);this.update(inventory);return inventory; } 如果我现在创建一个方面来建议对InventoryService的任何调用以跟踪每个方法调用花费的时间Spring AOP将为InventoryService Bean创建一个动态代理 但是对CompositeUpdateService的调用将仅在此方法的级别上记录时间即CompositeUpdateService内部对findByVin的调用更新绕过了代理因此不会被跟踪 一个好的解决方法是使用AspectJ的全部功能– AspectJ会更改DefaultInventoryService的所有方法的字节码以包括对建议的调用。 我们制定的解决方法是将对代理本身的引用注入到bean中而不是调用this.findByVin和this.update而是调用proxy.findByVin和proxy.update 因此现在我们如何干净地将对代理的引用注入到bean中-我提供的解决方案是创建一个接口以标记对自己的代理感兴趣的bean public interface ProxyAwareT {void setProxy(T proxy); } 感兴趣的接口及其实现如下所示 public interface InventoryService extends ProxyAwareInventoryService{ ... }public class DefaultInventoryService implements InventoryService{ ...private InventoryService proxy;Overridepublic void setProxy(InventoryService proxy) {this.proxy proxy;} } 然后定义一个BeanPostProcessor注入这个代理 public class ProxyInjectingBeanPostProcessor implements BeanPostProcessor, Ordered {Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {return bean;}Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (AopUtils.isAopProxy((bean))){try {Object target ((Advised)bean).getTargetSource().getTarget();if (target instanceof ProxyAware){((ProxyAware) target).setProxy(bean);}} catch (Exception e) {return bean;}}return bean;}Overridepublic int getOrder() {return Integer.MAX_VALUE;} } 不是最干净的实现但是可以 参考 http : //blog.springsource.org/2012/05/23/understanding-proxy-usage-in-spring/ 参考 all和杂项博客中 JCG合作伙伴 Biju Kunjummen 引用了代理课程中的动态代理 。 翻译自: https://www.javacodegeeks.com/2012/07/reference-to-dynamic-proxy-in-proxied.html服务引用代理类
http://www.zqtcl.cn/news/425902/

相关文章:

  • 企业网站维护服务做网站设计都需要什么软件
  • jsp电商网站开发教程盐城网站建设制作
  • 企业解决方案网站做企业官网多少钱
  • 宁波网站建设哪家比较好怎麽做网站
  • 诸塈市建设局网站做移动网站开发
  • 南京建站公司网站网站视频源码地址
  • 德阳建设局网站做公众号首图的网站
  • 南阳网站优化渠道山西太原最新消息
  • 发布做网站需求qq群centos wordpress 建站教程
  • 东阳网站建设yw126南京网站改版
  • discuz视频网站模板徐州专业网站建设公司哪家好
  • 网站开发投资成本Wordpress显示成缩略图
  • 网站域名和网站网址吗中东跨境电商平台有哪些
  • 常宁市城乡和住房建设网站怎样加强文化建设
  • 视频网站如何做营销策划模板网站 seo
  • 中企动力做网站好吗网页建设软件
  • 爱站网seo浙江省嘉兴市建设局网站
  • 南宁做网站比较好的公司有哪些贵阳网站上门备案业务
  • 网络叶子 网站推广做一手房做那个网站好
  • 太仓网站建设平台成都家装设计公司排名
  • 现在建一个网站一年费用只要几百元如何建一个免费试用网站
  • 网站没有被收录销售型网站的建设流程及特点
  • 成都58手机微信网站建设名录近一周财经新闻热点
  • wordpress情侣网站源码微信开放平台官网登录
  • 网站改版提示无需改版有没有兼职做设计的网站
  • 网站sem怎么做网络建设设计方案
  • wap网站在线生成做饰品网站
  • 网站主机在哪里注册呢江西的赣州网站建设
  • 零基础网站建设视频教程建筑设计专业是干什么的
  • 淘客做网站的话虚拟主机多大重庆网上房地产网签合同查询