问题描述

项目中的资源文件中写了个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}"的更多相关文章

  1. spring错误<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX

    spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是 ...

  2. spring错误:<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX

    spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是 ...

  3. Could not resolve placeholder 'IMAGE_SERVER_URL' in string value "${IMAGE_SERVER_URL}"

    这种问题 在网上查的是说使用了重复的property-placeholder   可能是在别的xml 也用了property-placeholder 解决方法 加上  ignore-unresolva ...

  4. Could not resolve placeholder'XXX' in string value "XXXX"

    练习SSM项目的demo中遇到一个问题,我在applicationContext.xml中使用了<context:property-placeholder location="clas ...

  5. spring cloud config---Could not resolve placeholder 'xxx' in string value "${xxx}"

    初学SpringCloud 跟着视频写配置 前前后后检查了许久,配置代码没问题 最后发现是client项目的配置文件名有问题,不应该是application.yml 而是bootstrap.yml 那 ...

  6. 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 ...

  7. 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 ...

  8. Could not resolve placeholder

    使用spring的<context:property-placeholder location="/WEB-INF/redis.properties"/>读取prope ...

  9. Spring @Value注入值失败,错误信息提示:Could not resolve placeholder

    问题根源: @Value("${wx.app.config.appid}") public Object appid; 异常信息: Caused by: java.lang.Ill ...

随机推荐

  1. Android开发 View_自定义圆环进度条View

    前言 一个实现,空心圆环的自定义View,已经封装完好,可以直接使用. 效果图 代码 import android.content.Context; import android.graphics.C ...

  2. SQL Server - SQL Server/ bcp 工具如何通信

    问题-BCP通讯 ref: https://stackoverflow.com/questions/40664708/bcp-cannot-connect-to-aws-sql-server-but- ...

  3. scala 中List的简单使用

    /** * scala 中List的使用 * */ object ListUse { def main(args: Array[String]): Unit = { def decorator(l:L ...

  4. js结巴程序

    var str="我.....我是一个个......帅帅帅帅哥!"; var reg=/\./gi; str=str.replace(reg,""); reg= ...

  5. C++ BASS 实例

    #include <iostream> #include <string> #include <map> #include "..\sdk\bass\in ...

  6. 计算几何——poj1410,线段不规范交

    直接用kuangbin的板子,能判不规范,规范和不交 另外线段在矩形内也可以,判断方式是比较线段的端点和矩形四个角 #include <cstdio> #include <cmath ...

  7. 解决eclipse启动时出现“failed to load the jni shared library”

    如何解决启动eclipse出现failed to load the jni shared library的问题 问题描述:启动eclipse时,出现以下弹出框 此时,即表示eclispe和jdk位数不 ...

  8. 云-腾讯云-实时音视频:实时音视频(TRTC)

    ylbtech-云-腾讯云-实时音视频:实时音视频(TRTC) 支持跨终端.全平台之间互通,从零开始快速搭建实时音视频通信平台 1.返回顶部 1. 腾讯实时音视频(Tencent Real-Time ...

  9. JavaScript基础的一些小总结

    一.js变量 1.变量声明: var 关键字来进行变量声明  变量是弱类型 1.数字   2.小数    3.boolean   4.字符串     4.字符 验证数据类型:1.整数,小数是numbe ...

  10. 02-python 学习第二天

    今天学习了以下几个方面的内容,虽然部分内容不能理解,跟着老师写出了代码. 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 程序练习1:购物车程序 请闭眼写出以下程序. 程序: ...