精华内容
下载资源
问答
  • 一、说到@Value注解,用过应该都知道,这是Spring3一个注解,通过@value注解方式获取properties文件中配置,大大简化了我们读取配置文件代码 首先必须要配置properties文件加载bean:在spring配置...

    一、说到@Value注解,用过的应该都知道,这是Spring3的一个注解,通过@value注解的方式获取properties文件中的配置值,大大简化了我们读取配置文件的代码

    首先必须要配置properties文件的加载bean:在spring的配置文件中加入:让spring将properties的文件中的内容加载进spring容器中,将properties加入到Spring容器中有两种方式

    1、以注入bean的形式

    <bean id="appProperty"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <array>
                <value>classpath:weixin.properties</value>
            </array>
        </property>
    </bean>
    

    2、以下面这种形式,加载多个properties文件使用,隔开;

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

    3、weixin.properties内容以键值对(key = value)形式存放

    在这里插入图片描述

    4、@Value使用

    以 @Value("${key}")的形式获取properties中key对应的value值 , 以下为获取value值得代码

    在这里插入图片描述

    5、问题 :但是上述步骤还存在一个问题,就是我在Service中通过 @Value("${token}") 可以获取到token的值,但是在controller中无法获取到token的值,若要在Controller层也使用@Value访问properties配置的话,需要在xxx-servlet.xml(我这里是Spring-mvc.xml)中也定义properties配置文件。

    解决 : 必须在Spring-mvc.xml中加入

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

    在这里插入图片描述
    总结 :

    如上所示,同样的代码,写在在业务层,运行时能取到正确的值,但在控制层却取得了@Value注解中的Key(@Value注解有个特点,如果取不到值,那么不是返回一个null,而是返回Key)。

    原因是controller注册在dispatcherservlet-servlet.xml代表的Spring MVC的容器中,而service则注册在application-context.xml代表的Spring的容器中。

    如果context:property-placeholder只注册在Spring的容器中,那么自然只有业务层的类可以取到enable-upload-image的值,而控制器取不到值。

    解决方法就是把各种context:property-placeholder在两个容器中都注册一下。如:

    并且现在可以从属性文件读取,这只是@Value其中一小部分用法,详细请查阅资料,这次记录只是记录我在项目中所遇到的问题,方便记忆,以防止自己以后再入坑,有纰漏请指出,不喜勿喷!

    作者:自由不过一种漂泊
    原文:https://blog.csdn.net/Thinkingcao/article/details/80620240

    展开全文
  • 1,dispatcher-servlet.xml 是一个,我们controller就在这里,所以这个里面也需要注入属性文件 org.springframework.web.servlet.DispatcherServlet 这里最终是使用WebApplicationContext parent =WebApplicat.....

    在使用spring mvc时,实际上是两个spring容器:

    1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件
    org.springframework.web.servlet.DispatcherServlet
    这里最终是使用WebApplicationContext parent =WebApplicationContextUtils.getWebApplicationContext(getServletContext()); 创建spring容器,代码在FrameworkServlet中
     
    2,applicationContext.xml 是另外一个,也需要注入属性文件
    org.springframework.web.context.ContextLoaderListener
     
    在我们的service中可以拿到@Value注入的值,那是因为我们通常都会把获取属性文件定义在applicationContext.xml中,这样在 Controller中是取不到的,必须在dispatcher-servlet.xml 中把获取属性文件再定义一下

    转载于:https://www.cnblogs.com/shihaiming/p/5764263.html

    展开全文
  • 在spring.xml配置了,但是Controller中使用@Value拿不到属性值 原因为在使用spring mvc时,实际上是两个spring容器: 1,spring-mvc.xml 是一个,我们controller就在这里,所以这个里面也需要注入属性文件org....

    在spring.xml配置了<context:property-placeholder />,但是Controller中使用@Value拿不到属性值


    原因为在使用spring mvc时,实际上是两个spring容器:

    1,spring-mvc.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件org.springframework.web.servlet.DispatcherServlet
    这里最终是使用WebApplicationContext parent =WebApplicationContextUtils.getWebApplicationContext(getServletContext()); 创建spring容器,代码在FrameworkServlet中

    2,applicationContext.xml 是另外一个,也需要注入属性文件org.springframework.web.context.ContextLoaderListener

    在我们的service中可以拿到@Value注入的值,那是因为我们通常都会把获取属性文件定义在applicationContext.xml中,这样在 Controller中是取不到的,必须在spring-mvc.xml中把获取属性文件再定义一下


    <context:property-placeholder/><util:properties/>的区别。

    • <context:property-placeholder/>是将properties加载到spring上下文中,接下来在定义bean的时候就能用${xx.xx}来访问了。

    • <util:properties/>org.springframework.beans.factory.config.PropertiesFactoryBean的简化,声明了一个bean,可以用于注入。


    展开全文
  • 如题,碰见个问题@Value("${file.path}")private static String filePath;这样是无法获取配置文件中的值的去掉static即可问题原理:

    如题,碰见个问题

    @Value("${file.path}")

    private static String filePath;


    这样是无法获取配置文件中的值的



    去掉static即可


    问题原理:


    展开全文
  • @Value("${appId}") ...这样是无法直接获得值的 解决办法: 需要这样写 private static String appid; @Value("${appId}") public void setAppid(String appId) { this.appid = appid; }...
  • <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=...meta name="Description" ..
  • 我一直在写关于JavaScript文章,我也帮助一些朋友学习JavaScript。这是个人最喜欢话题之一,但我有点惊讶地发现有多少次,人们弄错了。JS问题在于它不像其他语言那样遵循一般模式。例如,在C#中,ref关键字...
  • 在使用Spring框架的项目中,@Value是使用比较频繁的注解之一,它的作用是将配置文件中key对应的值赋值给它标注的属性。在日常使用中我们常用的功能都比较简单,本篇文章系统的带大家来了解一下@Value的使用方法。@...
  • CheckBoxList 控件,由于数据是在后台绑定,所以,当...解决方案:在后台绑定数据源时,给每一个item都增加一个属性,用来保存value值,那么,这个自己保存的value属性值,在前台是可以通过js获取。 前台代码:
  • alert( document.getElementById("xx").value); <input type="text" id="xx" name="xx" value="0"/>      -----------------------------*****************正解******************-----------...
  • form表单输入框input设置disable属性提交后,得不到该输入框的值
  • 调用下面清除文本框的值的方法: $("#brand").val(''); 但是你会发现文本框的value属性确实为空了, 但文本框还是显示有值!而且没有报任何错误。 这是因为你的方法调错了,$("#b...
  • Spring注解@Value在controller无法获取 在用到springMVC中controller加载配置.Properties文件中属性时,怎么都取不到,取得经过debug ,一直是${***}这种形式, 就是说并没有赋值,看了spring加载方式,...
  • 昨天搞到三点多都没有搞定数组排序问题,根源是无法正确获取数组的属性值,今天看了不少数组资料终于明白了怎样获取数组的属性值了。但后来看prototype源码,发现那里已经有很好实现了,代码: keys: ...
  • 错误提示:SCRIPT5007: 无法获取属性“fileTreeNodeClickHandler”的值: 对象为 null 或未定义 tree.js, 行134 字符3 <div class="filetype-shade shade-top pa"></div> data-url="/core/tree/async...
  • Spring@Value获取不到

    千次阅读 2018-06-22 16:32:30
    在SpringMVC+Spring+Mybatis项目中使用@Value的时候,在Controller无法获取@Value对应的值。1.属性文件 sys.propertiesMAIL_HOST_KEY=mail.smtp.host MAIL_HOST_VALUE=smtp.163.com2.我是在applicationContext.xml...
  • 在项目中因为动态表单无法确定标签name属性的值,因此需要即时获取以便进行存储。前端代码如下: 土拨鼠常挖坑 <form:input path=formAttribute1 class=input-xlarge value= name=测试1/> <form:input ...
  • 1.看下面代码: columns: [ [ { field: 'Org_name', title: '分行[电码]', width: '280', sortable: true, formatter: function (value, rec) {...
  • (1)提供受控属性 value 或其它与 valuePropName 的值同名的属性。 (2)提供 onChange 事件或 trigger 的值同名的事件。 (3)不能是函数式组件。 2.创建组件 components/PriceInput/index.js import React...
  • 原生 js使用 getElementById 比较麻烦的地方需要为元素...这种情况使用 v-model 最方便,通过 this.inputName 即可获取到对应的值。input 有默认值。即,设置了 value 属性的 Input。这种情况不能使用 v-model。否则...
  • 当DIV中有input文本框,通过js调用div的innerHTML无法获取文本框中用户输入的值。 暂时解决方案是对setAttribute的value属性赋值。 //将form1下包含的所有input文本框通过js重新赋值一遍 //这样下面调用$get(...
  • 后台想通过JAVA获取到input中的isDraft的值是否为0 该怎么获取 ``` <input type="button" value="创建问卷" name="sendBtn" id="sendBtn" class="butn" isDraft=0>; <input type="button" value="存草稿" ...
  • 1. 新增.properties文件2. 在spring.xml引入配置文件 &lt;!-- 引入属性文件 --&gt; &lt;context:property-...3. 实体类引用,注意:属性不能定义成static,否则无法获取package sy.util;...
  • input只读属性 ...有两种方式可以实现input只读效果:disabled 和 readonly。...自然两种出来效果都是只能读取不能编辑,可是...Readonly仅仅是无法编辑,不影响其值的传递。 Disabled使用:<INPUT ty...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 230
精华内容 92
关键字:

无法获取属性value的值