我是Spring的新手,尝试使用带@Value("${loginpage.message}")
注释的控制器内部的注释注入带有值的字符串,并且将字符串的值@Controller
作为字符串"${loginpage.message}"
而不是属性文件中的值进行评估。
下面是我要插入的字符串“ message”的控制器。
@Controller
public class LoginController extends BaseController {
@Value("${loginpage.message}")
private String message;
@RequestMapping("/")
public String goToLoginPage(Model model) {
model.addAttribute("message", message);
return "/login";
}
}
我的应用程序上下文如下所示:
<context:property-placeholder location="classpath:properties/application.properties" />
<context:annotation-config />
<context:component-scan base-package="com.me.application" />
我的属性文件包含以下行:
loginpage.message=this is a test message
Spring必须在某个时候获取该值,因为每当我更改@Value("${loginpage.message}")
为不在属性文件之类的值时@Value("${notInPropertiesFile}")
,都会出现异常。
似乎已经有人问过这个问题,Spring 3.0.5不会从属性中评估@Value批注
Web应用程序根目录和servlet应用程序上下文之间的差异是Spring造成混淆的最主要原因之一,请参阅 Spring Framework中applicationContext.xml和spring-servlet.xml之间的差异
从@Value
javadoc:
请注意,@ Value批注的实际处理是由BeanPostProcessor执行的
从Spring文档中:
BeanPostProcessor接口是按容器划分作用域的。仅在使用容器层次结构时才有意义。如果在一个容器中定义BeanPostProcessor,它将仅对该容器中的bean进行工作。在一个容器中定义的Bean不会由另一个容器中的BeanPostProcessor进行后处理,即使这两个容器属于同一层次结构也是如此。
问题内容: 尝试在Spring 3.0.5.RELEASE中自动将属性连接到Bean ,我正在使用: config.properties: main-components.xml: MyClass: 结果,username被设置为字面值 ,因此表达式不会被解析。我对该类的其他自动关联依赖关系已设置,并且Spring不会引发任何异常。我也尝试添加,但没有帮助。 如果我将属性解析为单独的bean,然后
我是Spring新手,尝试在使用注释的控制器内使用注释注入一个字符串,并且我的字符串的值被评估为字符串,而不是属性文件内的值。 下面是我的控制器,带有我要注入的字符串“消息”。 我的应用程序上下文如下所示: 我的属性文件包含以下行: Spring必须在某个点上获取该值,因为每当我将更改为不在属性文件中的值(如)时,我都会得到一个异常。
问题内容: 因此,我有一个简单的属性文件,其中包含以下条目: 该属性文件使用加载,该文件引用了上面的属性文件。 我有以下课程,为此,我正在尝试加载这些属性,如下所示: 问题是,并且总是为空…但是在我的控制器中,该值正好被加载。是什么赋予了? 问题答案: 如果通过手动实例化的实例,则不会涉及Spring,因此注释将被忽略。 如果您无法更改代码以使Spring实例化bean(也许使用-scoped b
Application.Properties
我有一个 Spring 注释类 ,其布尔字段为: 这个类被导入到另一个Spring注释类中,如下所示: 在测试用例中通过Spring上下文实例化类时,容器无法将字符串解析为布尔字段<code>mappingsEnabled</code>,我得到: 关于我错过了什么的任何线索?
我们一直在使用Spring@Value注释来注入属性值。我们有一个约定来命名属性名称,以匹配它们注入的java字段。这带来了不必要的工作,即每个ConfigBean的java字段都需要用@Value注释。 我正在寻找一种方法,用新的注释注释java类(比如说ConfigBean),让一些后处理器读取这些bean的属性名称,并自动注入属性值。 我正在寻找一些关于如何在没有@Value注释的情况下实现