Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不能导入属性文件_Java_Spring_Spring Mvc_Properties - Fatal编程技术网

Java 为什么不能导入属性文件

Java 为什么不能导入属性文件,java,spring,spring-mvc,properties,Java,Spring,Spring Mvc,Properties,属性文件是src\main\resources\exam binary.properties。exam-binary.properties中的内容是: user.post.url=http://localhost:9000/users/newUser 导入类如下所示,但是,该值似乎无法导入 import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotatio

属性文件是
src\main\resources\exam binary.properties
。exam-binary.properties中的内容是:

user.post.url=http://localhost:9000/users/newUser
导入类如下所示,但是,该值似乎无法导入

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.client.RestTemplate;

import com.ma2oo.model.domain.User;

@Configuration
@PropertySource("classpath:exam-binary.properties")
public class RegisterUser {
    private static final RestTemplate restTemplate = new RestTemplate();

    @Value("${user.post.url}")
    private String registerUrl;

    public User Register(final User user) {
        System.out.println("url print: " + registerUrl);
        return restTemplate.postForObject(registerUrl, user, User.class);
    }
}
我有
@EnableAutoConfiguration
,它将覆盖所有类。调用RegisterUser的方法是:

@RequestMapping(value = {"/signUp"}, method = RequestMethod.POST)
public ModelAndView signUp(@ModelAttribute("user") User user) {
    new RegisterUser().Register(user);
    return new ModelAndView("quiz_start");
}
标准输出为:

url print: null
有人能帮忙解释一下为什么
@PropertySource
不起作用吗?
提前感谢。

根本原因是您使用的
RegisterUser
实例不是Spring管理的bean。相反,是你自己创造的

new RegisterUser() // spring has no knowledge of it

为什么这是a类
配置
类?你似乎把它当作一种服务。将属性配置移动到适当的
@configuration
类,声明类型为
RegisterUser
的bean,并在
@RequestMapping
注释方法中使用该bean。

您如何使用该
RegisterUser
类?使用like
new RegisterUser()。Register(user)
,我还有另一个注释
@EnableAutoConfiguration
,它将涵盖所有这些类,但不太确定它是否正确。请将其添加到您的问题中。基本上,您是自己创建实例的。斯普林绝对不参与。向我们展示您正在尝试做什么,以便我们能够更好地帮助您。我认为
@EnableAutoConfiguration
将使spring启用。是吗?谢谢你,伙计,我按照你说的做了改变,而且很有效。谢谢。