标签:实体 文件 属性 EAP pac tco prope order reg
第一种方式
1、配置类
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //将所有D:\\springboot\\pic\\ 访问都映射到/myPic/** 路径下 registry.addResourceHandler("/myPic/**").addResourceLocations("file:D:\\springboot\\pic\\"); } }
|
上面的意思就是:将所有D:/springboot/pic/ 访问都映射到/myPic/** 路径下
2、重启项目
例如,在D:/springboot/pic/中有一张logo.jpg图片
在浏览器输入:http://localhost:8080/myPic/logo.jpg即可访问。
第二种方式
首先,我们配置application.properties
web.upload-path=D:/springboot/pic/ spring.mvc.static-path-pattern=/** spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,\ classpath:/static/,classpath:/public/,file:${web.upload-path} |
注意:
web.upload-path:这个属于自定义的属性,指定了一个路径,注意要以/结尾;
spring.mvc.static-path-pattern=/**:表示所有的访问都经过静态资源路径;
spring.resources.static-locations:在这里配置静态资源路径,前面说了这里的配置是覆盖默认配置,所以需要将默认的也加上否则static、public等这些路径将不能被当作静态资源路径,在这个最末尾的file:${web.upload-path}之所有要加file:是因为指定的是一个具体的硬盘路径,其他的使用classpath指的是系统环境变量。
然后,重启项目
例如,在D:/springboot/pic/中有一张8.png图片
在浏览器输入:http://localhost:8080/8.png 即可访问。
我们可以在application.yml文件中,配置一些常量或者其他参数配置。读取的时候通过Spring的@Value(“${属性名}”)注解即可。
(1)、在application.yml定义几个常量:
offcn_ip: 1.1.1.1 offcn_port: 9999 |
(2)、编写Controller类读取自定义属性
@RestController public class HelloConfigController { @Value("${offcn_ip}") private String offcn_ip;
@Value("${offcn_port}") private String offcn_port;
@GetMapping("/getvalue") public String getValue() { return "ip:"+offcn_ip+" port:"+offcn_port; } } |
访问http://localhost:8888/java001/getvalue
当属性参数变多的时候,我们习惯创建一个实体,用实体来统一接收赋值这些属性。
(1)、定义配置文件
userbody: name: 优就业 password: 123456 birthday: 1992.10.28 mobile: 13802789765 address: 北京市朝阳区 |
(2)、创建实体类
@ConfigurationProperties(prefix="userbody") public class UserBody { private String name; private String password; private String birthday; private String mobile; private String address; } 提供setter、getter、以及toString |
需要在实体类上增加注解@ConfigurationProperties,并指定prrfix前缀。
(3)、编写Controller调用属性bean
@RestController @EnableConfigurationProperties({UserBody.class}) public class HelloControllerBean { @Autowired UserBody userbody;
@GetMapping("/getUser") public String getUser(){ return userbody.toString(); } } |
EnableConfigurationProperties注解需要加在调用类上,或者加在启动类SpringbootSimpleApplication上也可以。
访问地址:http://localhost:8888/java001/getUser
1、多环境配置文件
使用多个yml配置文件进行配置属性文件
可以使用多个yml来配置属性,将于环境无关的属性放置到application.yml文件里面;通过与配置文件相同的命名规范,创建application-{profile}.yml文件 存放不同环境特有的配置,例如 application-test.yml 存放测试环境特有的配置属性,application-prod.yml 存放生产环境特有的配置属性。
通过这种形式来配置多个环境的属性文件,在application.yml文件里面spring.profiles.active=xxx来指定加载不同环境的配置,如果不指定,则默认只使用application.yml属性文件,不会加载其他的profiles的配置。
(1)、创建application-dev.yml
server: port: 8003 servlet: context-path: /java003
|
(2)、创建application-test.yml
server: port: 8001 servlet: context-path: /java001
|
(3)、创建application-prod.yml
server: port: 8002 servlet: context-path: /java002 |
(4)、修改application.yml
spring: profiles: active: test |
通过设置,active: 的值对应不同的{profile}就可以使对应的配置文件生效。
标签:实体 文件 属性 EAP pac tco prope order reg
原文地址:https://www.cnblogs.com/rex-713/p/11795820.html