classpath:jdbc.properties
PropertyConfigurer类如下:
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import java.util.Properties;
/**
* properties配置文件读取类
*/
public class PropertyConfigurer extends PropertyPlaceholderConfigurer {
private Properties props;
@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props)
throws BeansException {
super.processProperties(beanFactoryToProcess, props);
this.props = props;
}
public String getProperty(String key){
return this.props.getProperty(key);
}
public String getProperty(String key, String defaultValue) {
return this.props.getProperty(key, defaultValue);
}
public Object setProperty(String key, String value) {
return this.props.setProperty(key, value);
}
}
public interface PropertiesService {
/**
* 获取properties文件中指定key的value
*/
String getPropery(String key);
}
serviceimpl如下
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
* 获取properties文件内容的service的实现类
*/
@Service
public class PropertiesServiceImpl implements PropertiesService {
@Autowired
private PropertyConfigurer pc;
@Override
public String getPropery(String key) {
return pc.getProperty(key);
}
}
@Controller
@RequestMapping(“/prop”)
public class PropertyController {
@Autowired
private PropertiesService ps;
return ps.getProperyByFourthWay(key, “defaultValue”);
}