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

深圳网站建设培训郑州网络优化实力乐云seo

深圳网站建设培训,郑州网络优化实力乐云seo,网站做数据统计,专业网络公司报价简介 其实前面文章我们已经介绍过了如何定义spring表达式的解析模版,但是那是直接使用表达式api的形式,对于使用spring的同学来说,更优雅的方式就是可以自定义一个扩展去修改 本文就是介绍如何通过Spring的扩展点修改表达式解析模版 自定义…

简介

其实前面文章我们已经介绍过了如何定义spring表达式的解析模版,但是那是直接使用表达式api的形式,对于使用spring的同学来说,更优雅的方式就是可以自定义一个扩展去修改

本文就是介绍如何通过Spring的扩展点修改表达式解析模版

自定义解析模版

首先AbstractBeanFactory就有有一个解析器BeanExpressionResolver,这个前面文件介绍过,默认是一个StandardBeanExpressionResolver

public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport implements ConfigurableBeanFactory {private BeanExpressionResolver beanExpressionResolver;public BeanExpressionResolver getBeanExpressionResolver() {return this.beanExpressionResolver;}
}

而StandardBeanExpressionResolver恰好也有修改解析版本的方法

public class StandardBeanExpressionResolver implements BeanExpressionResolver {public void setExpressionPrefix(String expressionPrefix) {this.expressionPrefix = expressionPrefix;}public void setExpressionSuffix(String expressionSuffix) {this.expressionSuffix = expressionSuffix;}
}

那么其实就是对BeanFactory的一个扩展,在spring中针对于BeanFactory的后置处理器就是 BeanFactoryPostProcessor

下面我们就来实现一下

@Component
public class SpElPostProcessor implements BeanFactoryPostProcessor {@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {BeanExpressionResolver beanExpressionResolver = beanFactory.getBeanExpressionResolver();if (beanExpressionResolver instanceof StandardBeanExpressionResolver) {StandardBeanExpressionResolver resolver = (StandardBeanExpressionResolver) beanExpressionResolver;// 修改resolver.setExpressionPrefix("&{");resolver.setExpressionSuffix("}");}}
}

修改表达式模版为 &{}

测试

@ComponentScan({"com.shura"})
public class AppConfig {
}public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);BeanExpressionResolver beanExpressionResolver = context.getBeanFactory().getBeanExpressionResolver();Object result = beanExpressionResolver.evaluate("&{appConfig}", new BeanExpressionContext(context.getBeanFactory(), null));System.out.println(result);
}输出
com.shura.config.AppConfig@3e58a80e

欢迎关注,学习不迷路!

http://www.dt0577.cn/news/7443.html

相关文章:

  • 网站设计是做什么的seo免费教程
  • 网站的宣传方法有哪些网站买卖
  • 做3dmax效果图任务的网站网站排名优化培训课程
  • 网站seo优化推广外包crm系统成功案例分享ppt
  • 做文库网站怎么赚钱吗营销策划案的模板
  • 网站建设需要注意的问题发软文的平台
  • 长沙房产信息网官网东莞市网络seo推广企业
  • wordpress怎么加插件seo还可以做哪些推广
  • 做淘宝代理哪个网站好百度爱采购怎么优化排名
  • 最新款手机做网站seo推广公司
  • 怎吗做网站挣钱知名网页设计公司
  • 阜宁县住房与城乡建设局网站搜索引擎营销的模式有哪些
  • 深圳市房地产信息网查询系统百度seo免费推广教程
  • 纬天建筑工程信息网郑州网站优化
  • 百度云附件 wordpress北京优化网站公司
  • 折800 网站模板公司网络搭建
  • 做特价的网站网络推广有哪些渠道
  • 做IPv6网站升级的公司有哪些搜索引擎优化答案
  • 上海响应式网站建设推荐sem是什么缩写
  • 深圳网站建设 设计首选深圳市培训机构加盟店排行榜
  • 大学生创业做网站百度热搜的含义
  • 云网站7china长沙网站关键词排名推广公司
  • 海外红酒网站建设湖南关键词优化排名推广
  • 网站屏蔽国内ipsem是什么显微镜
  • 莲都区建设局门户网站怎样在百度打广告
  • 建设注册管理中心网站全网最全搜索引擎app
  • 做网站是什么工作今日头条热搜
  • wordpress运行机制深圳百度seo优化
  • wordpress获取所有图片河南新站关键词排名优化外包
  • 网络科技公司简介文案seo搜索推广费用多少