




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第springboot如何读取模板文件目录springboot读取模板文件第一种第二种第三种SpringBoot读取配置文件信息一、创建配置文件pertiesapplication.yml二、读取配置信息@value@ConfigurationProperties三、读取指定环境配置
springboot读取模板文件
前言:resources下的template目录下的模版文件
templateDir:template/
第一种
Resourceresource=newClassPathResource(templateDir+templateName);
在linux生产环境下无法读取,也可能是其他原因,内网不好看错误
第二种
ResourceLoaderresourceLoader=newDefaultResourceLoader();
Resourceresource=resourceLoader.getResource("classpath:template/"+templateName);
InputStreaminputStream=resource.getInputStream();
各种环境下都能读取
第三种
Resourceresource=newPathResource(templateDir+"黑灰数据分享模板.xls");
Filefile=resource.getFile();
不确定linux环境
SpringBoot读取配置文件信息
一、创建配置文件
当我们新建一个SpringBoot工程的时候,在资源文件夹resources下,会自动生成默认的perties配置文件。
perties
其书写风格为小数点间隔级别书写全路径。这个老代码里面见的比较多。
示例如下:
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=root
#演示内容
demo.username=test
demo.password=test
application.yml
application.yml和perties有所不同,它采用“树形结构”的书写风格,减少了冗余的代码。
注意:变量的值和变量名之间有且仅有一个空格。字符串变量不需要引号,当然加上了也不会报错。
示例如下:
server:
port:8080
spring:
datasource:
url:jdbc:mysql://localhost:3306/demo
username:root
password:root
#演示内容
demo:
username:test
password:test
二、读取配置信息
@value
如果是要读取单个或几个配置值的信息,可以直接在业务Bean中引入这个成员变量,并加上@value注解声明。
//其他包
importorg.springframework.beans.factory.annotation.Value;
@Component
publicclassReadConfigValueDemo{
@Value("${demo.username}")
privateStringusername;
@Value("${demo.password}")
privateStringpassword;
//业务代码
@ConfigurationProperties
如果需要读取的配置文件很多,或则是一组相关的配置文件,希望在系统组装起来复用,那么我们可以采用构建配置Bean的方式。
1.添加pom依赖
这是为了第二步配置Bean的时候能扫描到配置文件信息
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-configuration-processor/artifactId
optionaltrue/optional
/dependency
2.创建配置Bean
通过ConfigurationProperties的prefix前缀属性,我们可以指定一组配置值,注意属性名要和配置文件一致,类名无所谓。
importperties.ConfigurationProperties;
importorg.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="demo")
publicclassDemoConfig{
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
publicStringgetPassword(){
returnpassword;
3.业务代码中使用
哪里需要这一组配置文件,就通过@Resource或则@Autowired注解自动注入即可。
注意:注入配置Bean的类,本身必须也是Spring管理下的一个Bean,否则会注入null值。这种情况在一些提供静态方法的工具类上可能出现。
@Service
publicclassDemoServiceImpl{
@Resource
privateDemoConfigdemoConfig;
publicvoidtest(){
//读取配置Bean中的值
System.out.println(demoConfig.getUsername());
}
三、读取指定环境配置
SpringBoot项目支持多套配置,例如生产环境prod、开发环境dev、测试环境test等。
以application.yml格式为例:
#当前启用dev配置文件
spring:
profiles:
active:dev
这种情况下,application.yml和application-dev.yml均能生效。同名的配置项以具体环境下的配置文件为主。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山西红杰人才集团有限公司招聘16人笔试参考题库附带答案详解
- 色彩管理在纺织中应用试题及答案
- 合同续签意向协议书
- 网店托管合同协议书
- 分装生产企业合同协议书
- 送餐合同协议书模板图片
- 协议 合同互换协议书范本
- 下载售房合同协议书
- 理赔合同协议书
- 艾灸兼职合同协议书
- YY-T 0950-2015 气压弹道式体外压力波治疗设备
- 大学生心理健康智慧树知到期末考试答案章节答案2024年西安电子科技大学
- 大熊猫简介完整版本
- 高阶数独解题技巧讲解
- 2023-2024学年人教版八年级下册数学期末复习试题
- (完整版)12123交管学法减分考试题及答案
- 2024年社会工作者《社会工作实务(中级)》考试真题必考题
- 新能源汽车维修技术与标准
- 小学女子足球队训练计划
- 幼儿诗歌《家》课件
- 2023年调度受令资格和停电申请资格考试题库(笔试+停送电操作单+上机题)
评论
0/150
提交评论