Spring2.0-applicationContext.xml中使用el表达式给实体类属性赋值被当成字符串-遁地龙卷风

时间:2022-09-01 11:44:02

(-1)写在前面

这两天读《javaweb开发王者归来》,学到Spring的PropertyPlaceholderConfigurer时出现一个问题,我已${jdbc.name}的形式赋值给bean中的属性,用main方法测试后,输出属性的值仍然是${jdbc.name}。

(0)解决问题之路

a.我先想到是不是打错了,于是和书上仔细的对照了一下,发现书上说的是PropertyOverrideConfigurer,但实际上配置文件中写的是PropertyPlaceholderConfigurer,换来换去几次没用。

b.问了老师,在老师回去看资料的一瞬间突然有了灵感,我百度了一下,觉得找到了解决方案。

c.我想是不是没导入jar包、spring版本低,导致el表达式无法解析,一开始还一个个判定,后来把能导入的都导了还是不行,

d.不断的换描述方式去百度我的问题,晚上有人要走了,提前一起吃一顿饭,吃晚饭去打lol,又百度了一会没有找到,于是在博问、问问上提问,到现在也没收到回复,英雄联盟输了一晚上,中途还断电了。

c.早上的时候想是不是main方法测试的原因,把项目部署到tomcat,在index.jsp中使用还是那样,于是乎我想到了是不是使用方式不对呢,之前也想到过PropertyPlaceholderConfigurer的bean是怎么和使用${jdbc.name}的bean关联到一起的,于是开始百度PropertyPlaceholderConfigurer的使用方法,间接的找到了解决方案。

(1)具体解决方案

其实我觉得这个问题碰到的人真不多…,可能都是第一次学spring就读了这本书的人吧..,下面是其中一种方式

配置文件

<bean  class="service.IDaoImp" id="iDaoImp" >

<property name="name" value="${jdbc.name}"></property>

</bean>

<bean id="property" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="location">

<value>classpath:jdbc.properties</value>

</property>

</bean>

main方法

XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));

PropertyPlaceholderConfigurer propertyPostProcessor = (PropertyPlaceholderConfigurer)beanFactory.getBean("property");

propertyPostProcessor.postProcessBeanFactory(beanFactory);

IDaoImp  imp = (IDaoImp)beanFactory.getBean("iDaoImp");

System.out.println(imp.getName());

IDaoImp

public class IDaoImp

{

private String name;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

jdbc.properties

jdbc.name=\u738B\u65ED

jdbc.age=21

Spring2.0-applicationContext.xml中使用el表达式给实体类属性赋值被当成字符串-遁地龙卷风的更多相关文章

  1. MyBatis中解决字段名与实体类属性名不相同的冲突

    一: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系 ...

  2. struts&period;xml中可以使用el表达式和ognl表达式

    转自:http://blog.csdn.net/hzc543806053/article/details/7538723 文件上传链接: 1)Servlet 文件上传 ————  点击打开链接 2)S ...

  3. Mybatis中resultMap的作用-解决实体类属性名和数据库字段不一致

    解决实体类属性名和数据库字段不一致

  4. JavaWeb -- Jsp中的 EL表达式

    lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...

  5. JSP中使用EL表达式

    EL表达式 :EL 全名为Expression Language,就是为了替代<%= %>脚本表达式. EL主要作用: 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种 ...

  6. js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号

    js 中使用el表达式 关键总结:在js中使用el表达式一定要加双引号 js控制中用到了el表达式,最开始源码如下: var selected = ${requestScope.xxxxForm.re ...

  7. js文件中使用EL表达式的问题

    var str = '${str}' ; var str = '${obj.属性名}'; 只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能 ...

  8. jsp中的el表达式没有解析

    今天发现jsp中的el表达式没有解析,把解决的过程记录一下 在web.xml的web-app节点的版本改成2.4以上

  9. js中使用EL表达式总结

    1.js中使用el表达式要加双引号或单引号:'${list}' 2.js变量获取el表达式中的对象:不能直接获取,直接获取得到的是该对象的toString值. 有两种方法:一:el中直接写对象的属性v ...

随机推荐

  1. 直接操作 SDL&lowbar;Overlay YUV叠加上的像素

    根据这篇解码出yuv数据后 海思h264解码库 y,u,v数据全部存进数组内,          IntPtr y = _decodeFrame.pY;                 IntPtr ...

  2. Spring学习笔记&lpar;2&rpar;——Bean的配置

    要使应用程序中的Spring容器成功启动,需要以下三个方面的条件都具备: 1.Spring框架的类包都已经放到应用程序的类路径下 2.应用程序为Spring提供完备的Bean配置信息 3.Bean的类 ...

  3. 把验证码和生成时间负值给&dollar;&lowbar;SESSION&lbrack;vCode&rsqb;生成图像给浏览器

    php 图片 中文验证码 <img src="verify_image.php" alt="点此刷新验证码" name="verify_code ...

  4. &lbrack;SVN&lpar;Ubuntu&rpar;&rsqb; SVN 查看历史详细信息

    转载: http://lee2013.iteye.com/blog/1074457 以下内容,对ubuntu命令行查看代码变化非常有用. SVN 查看历史信息 通过svn命令可以根据时间或修订号去除过 ...

  5. C语言链表

    #include<stdio.h>#include<malloc.h>#include<stdlib.h> typedef struct Node{ int dat ...

  6. 细数Android开源项目中那些频繁使用的并发库中的类

    这篇blog旨在帮助大家 梳理一下前面分析的那些开源代码中喜欢使用的一些类,这对我们真正理解这些项目是有极大好处的,以后遇到类似问题 我们就可以自己模仿他们也写 出类似的代码. 1.ExecutorS ...

  7. Codeforces Bubble Cup 8 - Finals &lbrack;Online Mirror&rsqb; D&period; Tablecity 数学题

    D. Tablecity Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/D ...

  8. mysql聚合函数

    1.统计一下插入的数据总数 SELECT COUNT(giftCertificateId) AS number FROM gift_certificate WHERE giftCertificateN ...

  9. hdu4707 Pet

    Pet Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  10. 单元测试系列:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...