Accessing Application Properties in Spring-MVC

前端 未结 2 1627
情话喂你
情话喂你 2021-02-09 07:03

New to Spring-MVC.

I want to store two properties (uploadFolder=.., downloadFolder=..) in a .properties file and access it in HomeController class (automatically created

2条回答
  •  礼貌的吻别
    2021-02-09 07:26

    There are a few different ways to do it. I do the following. In app context:

    
    

    Make sure you have the following at the top of your file to include the "util" namespace:

    xmlns:util="http://www.springframework.org/schema/util" 
    xsi:schemaLocation= "... http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
    

    I usually put my properties files in src/main/resources. As long as they're on the classpath, you're good. Then, in your controller, you can annotate your field/method with:

    @Controller
    public class MyController {
    
        @Value("#{myProps['uploadFolder']}")
        private String uploadFolder
    
        @Value("#{myProps['downloadFolder']}")
        private String downloadFolder
    
        @RequestMapping("myPage")
        public String loadPage(ModelMap m) {
            m.addAttribute("uploadFolder", uploadFolder);
            m.addAttribute("downloadFolder", downloadFolder);
            return "myPage";
        }
    
        public void setUploadFolder(String uploadFolder) {
            this.uploadFolder = uploadFolder;
        }
        public void setDownloadFolder(String downloadFolder) {
            this.downloadFolder = downloadFolder;
        }
    }
    

    Then, in your JSP:

    Download folder: ${downloadFolder} 
    Upload folder: ${uploadFolder}

    HTH. Let me know if you have any questions.

提交回复
热议问题