当前位置:首页 > 好文分享 > 正文

SpringEL表达式的使用 SpringBoot

SpringEL表达式的使用 SpringBoot

SpringBoot,SpringEL使用springel的表达,智伯。com带你了解更多信息。 目录1。斯普林格尔-基础介绍2。EL表达式-基本用法 三、...

SpringBoot,SpringEL使用springel的表达,智伯。com带你了解更多信息。 目录1。斯普林格尔-基础介绍2。EL表达式-基本用法 三、SpringEL- basic使用四、属性自动注入 一、SpringEL-基本介绍什么是SpringEL(SpEL)? Spring表达式语言Spring3中引入了SpringEL。SpEL是一种强大而简洁的组装Bean的方法。SpringEL可以通过运行时执行的表达式将值组装到我们的属性或构造函数中。SpringEL可以调用JDK提供的静态常量来获取外部属性文件中的配置。为什么要用Springel? 通常通过配置文件或注释注入的Beans实际上可以称为静态注入。比如BeanA中有一个变量A,需要根据BeanB的变量B来引用它的值。在这种场景下,静态注入对于这样的处理来说是非常弱的,Spring3中增加的SpringEL完全可以满足这种需求,它还可以在赋值之前计算不同beans的字段。如何使用SpringEL很厉害? SpringEL从名字就能看出来和EL有关系。SpringEL的使用与EL expression的使用非常相似,在JSP页面上更容易在后台获取值,而SpringEL使用$ {}获取Spring容器中Bean的值,SpringEL使用# {}声明表达式。主要有两个区别。 $是查找外部配置的参数,赋值#是一个SpEL表达式。要找到对应变量的内容,也可以不使用EL,直接用@value ('constant ')来注入,相当于直接赋值。如果在Spring中使用,可以使用* * @ property source(' class path 3360 my . properties ')* *加载相应的配置文件。 二、EL表达式-基本用法 #配置文件com : code coord 3360 El 3360 num :1001 name 3360 El language 3360-Java-Spring-MySQL-Linux #逗号分隔列表可以注入语言023360Java、Spring、MySQL、Linux。 使用EL注入简单的值 @ value(' 1432516744 ')privateintegerno; 注入配置文件属性值 @ value(' $ { com . code coord . El . num } ')privateintegernum;@ value(' $ { com . code coord . El . name } ')privatestringname; 注入默认值 @ value(' $ { com . code coord . El . skill 3360 Java } ')privatestringskill; 注入列表 不支持直接配置文件中的数组语法格式。插入列表可以识别逗号分隔的配置。spring默认为,分隔//拼写错误:不支持直接注入yml列表格式语法list @ value(' $ { com . code coord . El . language } ')privatelist stringlistlanguage;@ Value(' $ { com . code coord . El . language } ')private string[]strLanguage; @ value ('$ {com。code coord . El . language 02 } ')PrivateListStringListLanguage 02;@ Value(' $ { com . code coord . El . language 02 } ')private string[]strlanguage 02; 完整的参考资料如下 配置文件 server : port :888 com : code coord : El 3360 num 33601001 name 3360 El language 3360-Java-Spring-MySQL-Linux #逗号分隔列表可注入语言02:Java、Spring、MySQL、Linux。 属性配置类 importlombok .数据;导入组织。spring框架。豆子。工厂。注释。价值;导入组织。spring框架。刻板印象。组件;导入Java。util。列表;@ Data @ ComponentpublicclassElConfig {@ Value(' 1432516744 ')私有整数no;@ Value(' $ { com。代码坐标。埃尔。num } ')privateIntegernum;@ Value(' $ { com。代码坐标。埃尔。name } ')privateStringname;@ Value(' $ { com。代码坐标。埃尔。技能: Java }’)privateStringskill;///不支持直接注入列表@ Value(' $ { com。代码坐标。埃尔。language 02 }”)privateliststringlistlanguage 02;@ Value(' $ { com。代码坐标。埃尔。language 02 }”)私有字符串[]str language 02;}

发表评论

最新文章