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

小蘑菇网站开发杭州百度竞价推广公司

小蘑菇网站开发,杭州百度竞价推广公司,推书网,横沥镇做网站简介 其实前面文章我们已经介绍过了如何定义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.tj-hxxt.cn/news/18888.html

相关文章:

  • 青海省建设厅网站备案资料google seo 优化招聘
  • wordpress锁定文件夹快速提升排名seo
  • python做网站性能太差游戏推广代理
  • 哪里有网站建设商家惠州seo外包平台
  • 免费建博客网站广告营销策略
  • 网站开发合同有效期搜索引擎论文3000字
  • 网站开发语言一般是用什么网络营销推广方案范文
  • 牡丹区建设局网站谷歌外贸平台
  • 秀米网站怎么做推文学新媒体运营最好的培训学校
  • 青岛建网站的公司有哪些分享几个x站好用的关键词
  • 做网站为什么每年都要续费南安网站建设
  • 武汉品牌网站建设seo的研究对象
  • 广州网站建设优化方案网络推广网站
  • mysql php动态网站开发seo技术培训教程视频
  • 网站建设的合理建议北京seo网站优化培训
  • 企业型网站开发百度品牌广告多少钱
  • 中国旅游网站排名星力游戏源码
  • 长沙制作手机网站的公司百度seo视频教程
  • 上海做网站最低价株洲网站建设
  • php做网站教程seo综合查询是啥意思
  • 培训网站欣赏竞价托管外包代运营
  • 上海企业网站制作报价萧山seo
  • 云南网站设计培训机构招生方案模板
  • 如何整理做网站的素材seo学校
  • 大连企业网站建站淘客推广
  • 深圳网站建设制作设计公司电商培训机构推荐
  • 工信部网站icp备案查询广告投放代理商加盟
  • 中装建设网站排名seo
  • 400网站建设推广seo是什么东西
  • 什么网站做禽苗好的网站建设优化网站