目录
一、背景
工作中经常会有一些参数需要配置,同时在代码里面需要用到,所有就需要配置类读取,然后在使用的时候注入该类进行获取相关参数。前面实现了spring boot相关的下面内容,现在就来实现一下spring boot如何读取配置文件里面的参数。参考项目地址在文末。
(3)mybatis基于pagehelper插件实现分页功能
二、实现
1、在项目resources里面新建一个properties文件,保存需要用到的参数
com.name=jiankang com.phone=18438595560 com.language=java
2、在启动类所在目录新建一个config文件夹,并新建ResourceConfig类,如下。
(1)配置类需要加@Configuration注解,声明是配置类
(2)@PropertySource注解设置properities文件所在路径
(3)变量上面的@Value注解设置对应的属性变量,冒号左边是映射的属性文件中的键,冒号右边时当找不到属性值时赋默认值。
(4)配置类省略getset方法。
@Configuration @PropertySource(value="classpath:resource.properties") public class ResourceConfig { @Value("${com.name:jiankang}") private String name; @Value("${com.phone:111}") private String phone; @Value("${language:python}") private String language; @Value("${com.address:chinese}") private String address; }
3、假如觉得@value注解上的键com.xxx太长,可以这样配置
(1)使用@ConfigurationProperties注解,配置一下属性变量的前缀,@Value注解里面就不用写太长了。
(2)配置类省略getset方法。
@Configuration @ConfigurationProperties(prefix = "com") @PropertySource(value="classpath:resource.properties") public class ResourceConfig { @Value("${name:jiankang}") private String name; @Value("${phone:111}") private String phone; @Value("${language:python}") private String language; @Value("${address:chinese}") private String address; }
4、Controller类里面获取配置参数。
(1)通过@Autowired注入配置类
@RestController public class HelloController { @Autowired private ResourceConfig resourceConfig; @RequestMapping("/resource") @ResponseBody public HashMap getA() { HashMap map = new HashMap(); map.put("com.name", resourceConfig.getName()); map.put("com.phone", resourceConfig.getPhone()); map.put("com.language", resourceConfig.getLanguage()); map.put("com.address", resourceConfig.getAddress()); return map; } }
5、返回结果如下。
(1)结果可以看出,address配置文件里面没有该值,返回了@Value注解配置的默认值。
{ "com.language":"java", "com.name":"jiankang", "com.phone":"18438595560", "com.address":"chinese" }
三、总结
以上就是实现mybatis基于pagehelper插件实现分页功能所有内容,希望能够帮到大家,可以git下载下来,参考一下,下面地址,切换到duqv-peizhi分支,觉得不错的话,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。