SpringMVC配置文件在初始化时加载到内存

在项目开发的过程中遇到一些需要对一些常量进行自定义的情况,一般将这些自定义参数写入配置文件properties,项目运行时读取配置文件加载里面的参数。参考了一些网上对配置文件读取的方式,整理了以下几种方法。

一、通过context:property-placeholde实现配置文件加载

1、在spring.xml中加入context相关引用


2、引入jdbc的配置文件

jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost/library?useUnicode=true&characterEncoding=utf8
jdbc_username=root
jdbc_password=123456

3、java类中的引用

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
 
@Configuration 
public class JdbcConfig{	
	
	@Value("${jdbc_url}")
	public  String jdbcUrl; //这里变量不能定义成static
	
	@Value("${jdbc_username}")
	public  String username;  
	
	@Value("${jdbc_password}")
	public  String password;  
	 
}

4、Controller中调用

@RequestMapping("/service/**")
@Controller
public class JdbcController{
 
         @Autowired
	    private JdbcConfig Config; //引用统一的参数配置类
 
         @Value("${jdbc_url}")
         private String jdbcUrl; //直接在Controller引用
         
         @RequestMapping(value={"/test"}) 
         public ModelMap test(ModelMap modelMap) { 
               modelMap.put("jdbcUrl", Config.jdbcUrl);
               return modelMap; 
         }

         @RequestMapping(value={"/test2"})
   	    public ModelMap test2(ModelMap modelMap) { 
   	        modelMap.put("jdbcUrl", this.jdbcUrl);
   	        return modelMap;
   	    } 
}

注:通过context:property-placeholde加载多个配置文件:将文件之间以逗号分隔


二、通过util:properties实现配置文件加载

1、添加相关引用


2、引入配置文件

     

3、java类中引用

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
 
@Component
public class Config { 
      @Value("#{settings['gnss.server.url']}")  
      public  String GNSS_SERVER_URL; 
 
}
 
 

4、Controller中调用

@RequestMapping("/service2/**")
@Controller
public class ConfigController{
 
         @Autowired
	 private Config Config; //引用统一的参数配置类
 
         @RequestMapping(value={"/test"})
   	 public ModelMap test(ModelMap modelMap) { 
   	    modelMap.put("gnss.service.url",Config.GNSS_SERVER_URL);
            return modelMap;
   	  } 
}
 

三、直接在java文件中实现配置文件的加载

1、java类中引入配置文件

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
 
@Configuration
@PropertySource(value="classpath:config.properties")  
public class Config { 
 
@Value("${gnss.server.url}") 
public  String GNSS_SERVER_URL;
 
@Value("${gnss.server.url}") 
public  String jdbcUrl; 
 
}

2、Controller中调用

@RequestMapping("/service2/**")
@Controller
public class ConfigController{
 
         @Autowired
	 private Config Config; //引用统一的参数配置类
 
         @RequestMapping(value={"/test"})
   	 public ModelMap test(ModelMap modelMap) { 
   	    modelMap.put("gnss.service.url", Config.GNSS_SERVER_URL);
            return modelMap;
   	 } 

 

你可能感兴趣的:(SSM)