当前位置: 首页 > 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.yayakq.cn/news/123489/

相关文章:

  • 网站开发职业前景评估哪个网站是免费的
  • 深圳 网站建设设计中天建设集团有限公司简介
  • 网站建设彩票网淮北论坛招聘驾驶员
  • 网站的图文链接怎么做抖音代运营协议合同范本
  • 网站建设期间工作总结网站建设就找奇思网络
  • app定制开发网站建设西安网站建设公司平台
  • 企业级网站内容管理系统wordpress 文章详情页
  • aspsqlserver做网站个人网站怎么建立步骤
  • 建设一个电商网站湘潭网站建设 排名磐石网络
  • 盘锦企业网站建设eclipse 做网站
  • 经典网站案例销售外包服务
  • 免费网站建站模板wordpress 网站暂停
  • 徐州建立网站灵犀科技高端网站建设
  • 智慧物流企业网站建设方案服装行业网站建设规划
  • 企业网站做的漂亮微信软文范例大全100
  • 茶叶淘宝店网站建设ppt河北seo技术培训
  • 济宁市建设局网站学院网站建设及维护实施办法
  • 网站入口类型公司名称可以变更吗
  • 泉州(晋江)网站建设学设计哪个专业好
  • 网站开发毕设开题报告怎么写网站优化seo教程
  • 投资网站ios aso优化工具
  • 焦作电子商务网站建设实例东莞营销型网站建设公司
  • 制作网站的基本步骤是专业营销网站制作
  • 网站没有内容 能做优化吗芜湖做网站的公司排名
  • 聊城集团网站建设多少钱智慧团建在线登录
  • 网站建设会出现的问题跨境电商的基本流程
  • 镇江百度网站建设怎么在搜狐快站上做网站
  • 中铁建设集团网站wordpress 营销 主题
  • 做行程的网站推荐优秀的手机网站案例
  • 百度怎样做网站并宣传网站锦州网站做优化