@Value(“#{}“)与@Value(“${}“)的区别

  1. @Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
  2. 用 @Value(“${xxxx}”)注解从配置文件读取值的用法
    一、 @Value(“#{}”)
    1 @Value(“#{}”) SpEL表达式(https://blog.csdn.net/ya_1249463314/article/details/68484422)
    @Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
@RestController  
@RequestMapping("/login")  
@Component  
public class LoginController {  @Value("#{1}")  private int number; //获取数字 1  @Value("#{'Spring Expression Language'}") //获取字符串常量  private String str;  @Value("#{dataSource.url}") //获取bean的属性  private String jdbcUrl;  @Autowired  private DataSourceTransactionManager transactionManager;  @RequestMapping("login")  public String login(String name,String password) throws FileNotFoundException{  System.out.println(number);  System.out.println(str);  System.out.println(jdbcUrl);  return "login";  }  
}  

当bean通过@Value(#{“”}) 获取其他bean的属性,或者调用其他bean的方法时,只要该bean (Beab_A)能够访问到被调用的bean(Beab_B),即要么Beab_A 和Beab_B在同一个容器中,或者Beab_B所在容器是Beab_A所在容器的父容器。(拿我上面贴出来的代码为例在springMvc项目中,dataSource这个bean一般是在springContext.xml文件中申明的,而loginController这个bean一般是在springMvc.xml文件中申明的,虽然这两个bean loginController和dataSource不在一个容器,但是loginController所在容器继承了dataSource所在的容器,所以在loginController这个bean中通过@Value(“#{dataSource.url}”)能够获取到dataSource的url属性)。

二、 @Value(“${}”)
https://blog.csdn.net/zengdeqing2012/article/details/50736119
https://blog.csdn.net/jiangyu1013/article/details/56285984
1.用法
从配置properties文件中读取init.password 的值。

@Value("${init.password}")  private String initPwd;    

2 . 在spring的配置文件中加载配置文件dbconfig.properties :

<!-- 加载配置文件 -->  <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  <property name="fileEncoding" value="UTF-8"/>  <property name="locations">  <list>  <value>classpath:dbconfig.properties</value>  </list>  </property>  
</bean>  

或这样加载

<context:property-placeholder location="classpath:dbconfig.properties" />  

或这样加载

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">  <property name="location">  <value>dbconfig.properties</value>  </property>  
</bean>  

3 . dbconfig.properties 文件:

#MD5  
password.algorithmName=md5  
password.hashIterations=2  
#initpwd  
init.password=admin  

通过@Value(“${}”) 可以获取对应属性文件中定义的属性值。假如我有一个sys.properties文件 里面规定了一组值: web.view.prefix =/WEB-INF/views/

在springMvc.xml文件中引入下面的代码既即以在 该容器内通过@Value(“web.view.prefix")获取这个字符串。需要指出的是,如果只在springMvc.xml引入下面代码,只能在springMvc.xml文件中扫描或者注册的bean中才能通过@Value(“web.view.prefix”)获取这个字符串。需要指出的是,如果只在springMvc.xml引入下面代码,只能在springMvc.xml文件中扫描或者注册的bean中才能通过@Value("{web.view.prefix}”)获取这个字符串,其他未在springMvc.xml扫描和定义的bean必须在相应的xml文件中引入下面代码才能使用@Value(“${}”)表达式

<!-- 加载配置属性文件 -->  <context:property-placeholder  ignore-unresolvable="true" location="classpath:sys.properties" />  

然后再controller文件中通过下面代码即可获取“”/WEB-INF/views/“”这个字符串

@Value("${web.view.prefix}")  
private String prefix;  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JTS Java空间几何计算、距离、最近点、subLine等计算

文章目录前言地理坐标系和投影坐标系地理坐标系投影坐标系地图投影墨卡托/Web墨卡托常见坐标系地理坐标系和投影坐标系互转EPSG:3857和EPSG:4326Java各坐标系之间的转换&#xff08;高斯、WGS84经纬度、Web墨卡托、瓦片坐标&#xff09;GeotoolsJTSvividsolutions和locationtec…

ecshop nginx php-fpm,ecshop在nginx下配置常见问题

我们前面讲述了nginx安装和配置&#xff0c;知道如何将ecshop建立在linux环境下的nginx上。但是为了让ecshop能更好的在nginx下跑出性能。我们必须对ecshop以及nginx的配置做出调整和改进&#xff0c;不然很容易浪费了nginx的性能。我们将结合一些实际情况&#xff0c;谈谈ecsh…

JTS学习笔记

简介 JTS由加拿大的VividSolutions公司开发&#xff0c;是一个用Java语言描述的几何拓扑套件&#xff0c;遵循OpenGIS的Simple Feature Specification&#xff0c;封装了2D几何类型和非常多的空间分析操作&#xff0c;而且包含了不少常见的计算几何算法实现。 JTS被广泛地应用…

matlab数学实验结课作业答案,matlab数学实验第一次答案

常用的高分子材料大致有哪几类&#xff1f;常用矿物硬度计为指甲和小刀&#xff0c;其中指甲的硬度为 ( )&#xff0c;小刀的硬度为( )。常用的自我增强的方式有六种。()常用的瓶插固定法有 。常用的静态网页制作软件有Dreamweaver、Access等。( )常用除草剂的类型有常见栽培…

填坑:Maven工程引用GeoTools依赖

这两天在做一个系统的后台&#xff0c;需要用到GeoTools做后端空间分析&#xff0c;记录一下自己遇到的问题。 项目通过Maven进行构建&#xff0c;参照文档Maven Quickstart添加GeoTools依赖和远程仓库地址。 <dependencies><dependency><groupId>org.geotoo…

php byte stringbuffer,重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结

重拾java基础(十三)&#xff1a;String姐妹StringBuffer、StringBuilder总结一、StringBuffer类概述buffer&#xff1a;缓冲2. 字符串缓冲区&#xff0c;跟String非常相似&#xff0c;都是用来存字符串数据的3. String类和StringBuffer类中都有一个char数组&#xff0c;它就是缓…

php 页面开启错误提示,php开启与关闭错误提示

windows系统开关php错误提示如果不具备修改php.ini的权限&#xff0c;可以将如下代码加入php文件中&#xff1a;代码如下 复制代码ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT);当然&#xff0c;如果能够修改php.ini的话&#xff0…

Maven下载jar包时出错、Maven仓库中出现.lastUpdated结尾的文件问题及解决

创建一个新项目&#xff0c;下载依赖时&#xff0c;出现以下错误&#xff0c;在本地maven仓库中的远程镜像地址配置也正确的情况下&#xff0c;分析了以下问题&#xff1a; 在这里插入图片描述1.idea报依赖冲突的错误&#xff0c;打开Project Structure&#xff0c;如果发现相…

ga tsp matlab,遗传算法(GA)求解TSP问题MATLAB程序

本程序求解常见的组合优化问题TSP问题&#xff0c;如果仅仅是用一个程序去求解一个优化问题&#xff0c;显然这样的工作意义并不大。主要是因为求解的好坏往往是很难评价的&#xff0c;另外尤其对于遗传算法来说&#xff0c;遗传算法交叉变异方法不同&#xff0c;交叉率&#x…

墨卡托投影介绍

一、墨卡托投影 墨卡托投影&#xff0c;又称正轴等角圆柱投影&#xff0c;由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假设地球被套在一个圆柱中&#xff0c;赤道与圆柱相切&#xff0c;然后在地球中心放一盏灯&#xff0c;把球面上的图形投影到圆柱体上&#xff0c;再把…

disallow php,在robots.txt中Disallow: /abc和Disallow: /abc/的区别

站长&#xff1a;不就是多了条斜杠吗&#xff0c;能有多大不同&#xff1f;小编&#xff1a;很多新手站长搞不明白这其中的作用&#xff0c;其实作用区别很大的呦。Disallow: /abc表示禁止蜘蛛索引网站根目录下所有以abc开头的文件夹和文件举例&#xff1a;/abc.html/abcde.php…

Java double转decimal_Java中Double与BigDecimal的相互转换

今天写代码过程中&#xff0c;发现一个Double的变量通过new BigDecimal(Double d)转换为BigDecimal时&#xff0c;有效数字改变了&#xff0c;如下&#xff1a; public class BigDecimalTest {public static void main(String[] arg) {String s1 "123.45";Double d…

oracle数据库日期加一,日期和Oracle数据库

我想知道Oracle环境中的哪个参数导致这个&#xff1a;假设我在两台不同的服务器上有两个数据库。数据库中的数据相同。在sql developer下我写这个查询&#xff1a;select to_char(date_column, DD/MM/YYYY) from my_table;当我在sql developer中检查my_table时&#xff0c;日期…

JTS使用实践

文章目录JTS使用实践一、前言简介环境二、正文基础说明使用记录创建几何要素操作示例JTS使用实践 一、前言 简介 JTS Topology Suite&#xff08;Java Topology Suite&#xff09;是一个开源的Java软件库&#xff0c;它为欧几里得平面线性几何提供了一个对象模型以及一组基本…

matlab 信息融合,MSDF,matlab,多传感器信息融合

MSDF&#xff0c;matlab&#xff0c;多传感器信息融合关注次数&#xff1a; 164下载次数&#xff1a; 15文件大小&#xff1a; 7.52M下载需要积分&#xff1a; 1代码分类&#xff1a;开发平台&#xff1a; matlab上传会员&#xff1a; yhcpp下载代码预览代码Downma.com:专注MAT…

JTS基本概念和使用

简介 JTS是加拿大的 Vivid Solutions公司做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法。为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。 操作 表示Geometry对象 Geometry类型介绍见另一篇文章&#xff1a;WKT WKB和GeoJSON pa…

sde oracle11g,Arcsde post oracle11g报错解决办法

环境&#xff1a;oracle11.2.0.3和oracle10.2.0.1&#xff0c;Arcsde9.3.1在oracle11.2.0.3中创建ab实例&#xff0c;然后使用Arcsde9.3.1 post oracle11.2.0.3创建配置sde&#xff0c;在post过程中报错&#xff0c;错误内容为[Thu Apr 04 10:24:55 2013] ERROR: Unable to loa…

GIS算法:可视化工具JTS TestBuilder

java、python、js都有可以引用的第三方包&#xff0c;实现GIS的空间算法。 java是jts&#xff0c;python是shapely&#xff0c;js是turf。 其中jts值得首先拥有&#xff0c;因为jts提供了一个界面工具JTS TestBuilder&#xff0c;可以在上面绘制图形&#xff0c;验证各种算法…

php aes 3des区别,AES和3DES之间的区别

Post Views:283AES与3DESAES(高级加密标准)和3DES(也称为Triple DES(数据加密标准))是当前数据加密中的两个标准。AES是使用替代置换网络的全新加密&#xff0c;而3DES只是对依靠平衡Feistel网络的旧DES加密的一种改编。基本上&#xff0c;3DES只是将DES应用于加密信息的 3次。…

wkt区域围栏

API文档 http://shengshifeiyang.gitee.io/geotools-learning/ /** * 判断以x,y为坐标的点point(x,y)是否在geometry表示的Polygon中 * param x * param y * param geometry wkt格式 POLYGON((0 0, 10 0, 10 10, 0 10,0 0)) * return */ public static boolean withinGeo(doub…