Could not resolve placeholder 'CUST_INDUSTORY' in string value "${CUST_INDUSTORY}"
问题描述
项目中的资源文件中写了个properties文件,内容这样的
CUST_FROM=002
CUST_INDUSTORY=001
CUST_LEVEL=006
在springmvc配置文件中加载设这样的
<context:property-placeholder location="classpath:resources.properties"/>
<context:component-scan base-package="com.crm.controller"/>
在spring中配置了注解扫描是这样
<context:component-scan base-package="com.crm"/>
最后在代码中调用
ackage com.crm.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import com.crm.domain.BaseDict;
import com.crm.service.BaseDictService; @Controller
public class BaseDictController { @Autowired
private BaseDictService baseDictService; **@Value("${CUST_INDUSTORY}")**
private String CUST_INDUSTORY; **@Value("${CUST_LEVEL}")**
private String CUST_LEVEL; **@Value("${CUST_FROM}")**
private String CUST_FROM; @RequestMapping("basedict_list")
public String basedictList(Model model){
List<BaseDict> listFrom = baseDictService.queryBasedict(CUST_FROM);
List<BaseDict> listIndustory = baseDictService.queryBasedict(CUST_INDUSTORY);
List<BaseDict> listLevel = baseDictService.queryBasedict(CUST_LEVEL);
model.addAttribute("fromType", listFrom);
model.addAttribute("industryType", listIndustory);
model.addAttribute("levelType", listLevel); return "list";
} }
问题分析和解决方案
出现这个错误其实说一个spring父子容器的问题
我在spring中配置的注解扫描,会将带注解的所有的对象进行依赖注入,并完成实例化,我在spring容器中并没有加载我自定义的properties文件,所以spring在依赖注入时在容器中找不到这些属性值,从而spring容器初始化失败。而我的properties文件是在springmvc的配置文件加载的,在springmvc的容器中会存在这些properties属性值,在springmvc中配置了我的控制器controller的扫描,那么该容器实例化我们的控制器会将属性注入到对象中。
怎样解决呢,就是在spring配置中不用让它去实例化我们的cotroller,只让springmvc实例化就可以了。
所以在springmvc扫描包直接这样
<context:component-scan base-package="com.crm.controller"/>
在spring配置文件中不要扫描controller这个包即可。
Could not resolve placeholder 'CUST_INDUSTORY' in string value "${CUST_INDUSTORY}"的更多相关文章
- spring错误<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX
spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是 ...
- spring错误:<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX
spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是 ...
- Could not resolve placeholder 'IMAGE_SERVER_URL' in string value "${IMAGE_SERVER_URL}"
这种问题 在网上查的是说使用了重复的property-placeholder 可能是在别的xml 也用了property-placeholder 解决方法 加上 ignore-unresolva ...
- Could not resolve placeholder'XXX' in string value "XXXX"
练习SSM项目的demo中遇到一个问题,我在applicationContext.xml中使用了<context:property-placeholder location="clas ...
- spring cloud config---Could not resolve placeholder 'xxx' in string value "${xxx}"
初学SpringCloud 跟着视频写配置 前前后后检查了许久,配置代码没问题 最后发现是client项目的配置文件名有问题,不应该是application.yml 而是bootstrap.yml 那 ...
- Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.username' in string value "${jdbc.username}"
1.启动dubbo的引用dubbo服务时候报下面这个错误,这是由于去找dubbo的发布服务未找到报的错误,所以先启动dubbo的发布服务即可. [INFO] Scanning for projects ...
- websphere启动报:Could not resolve placeholder 'hibernate.hbm2ddl.auto' in string value "${hibernate.hbm2ddl.auto}"
websphere启动报/WEB-INF/applicationContext-orm- hibernate.xml]: Could not resolve placeholder 'hibernat ...
- Could not resolve placeholder
使用spring的<context:property-placeholder location="/WEB-INF/redis.properties"/>读取prope ...
- Spring @Value注入值失败,错误信息提示:Could not resolve placeholder
问题根源: @Value("${wx.app.config.appid}") public Object appid; 异常信息: Caused by: java.lang.Ill ...
随机推荐
- 简单的GridView分业,后台不需要写
1前台代码: <asp:GridView ID="GridView1" runat="server" AllowPaging="True&quo ...
- C++调用python(C++)
C++源代码:python部分就是正常的python代码 #include <string.h> #include <math.h> #include "iostre ...
- 巧用CSS3的calc()宽度计算做响应模式布局
今天浏览这个http://www.sitepoint.com站时,因为好奇看了下人家写的代码,结果发现了这行代码, 于是就研究了一下,calc()从字面我们可以把他理解为一个函数function.其实 ...
- MFC文档视图结构学习笔记
文档/视图概述 为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序 MFC通过其文档类和视图类提供了大量有关数据处理 ...
- CF919D Substring (dag dp)
传送门 解题思路 感觉这种题都是套路,首先缩点判了环(没看见自环挂了一次..),然后设\(f[x][i]\)表示到了\(x\),\(i\)这个字母走过的最长距离,然后拓扑排序更新即可. 代码 #inc ...
- js--判断当前环境是否为app环境
/** *判断是否是app环境 */ function getIsApp () { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/ ...
- Linux课程---14、linux下lamp环境如何安装
Linux课程---14.linux下lamp环境如何安装 一.总结 一句话总结: 要按顺序安装,比如apache需要在php之前安装, 一.安装 gcc 编译器 二.卸载 rpm 安装的 http ...
- Pycharm2019.1.3安装程序以及教程
链接:https://pan.baidu.com/s/1TF--EyCUQgmPeXFaCMJm8w 提取码:5vme
- LeetCode 21. 合并两个有序链表(Python)
题目: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1-&g ...
- (转)NodeJS - 第一个应用程序Hello World
安装NodeJs 在创建实际的“Hello,World!”应用之前,我们应该先安装NodeJS,安装NodeJS可以访问NodeJS官网,下载相应系统的NodeJS的安装包,进行安装. 程序组件 关于 ...