server.tomcat.uri-encoding=UTF-8 spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true spring.messages.encoding=UTF-8
然后 在IntelliJ IDEA中依次点击ItelliJ idea->Preference -> Editor -> File Encodings
将Properties Files (*.properties)下的Default encoding for properties files设置为UTF-8,将Transparent native-to-ascii conversion前的勾选上。(参考【Springboot 之 解决IDEA读取properties配置文件的中文乱码问题】【Springboot 之 解决IDEA读取properties配置文件的中文乱码问题】)。
然后在变量中通过@Value直接注入就行了,如下:
@Value(value = "${book.author}") private String bookAuthor; @Value("${book.name}") private String bookName; @Value("${book.pinyin}") private String bookPinYin;
修改index方法,使之返回这些值:
@RequestMapping(value = "/",produces = "text/plain;charset=UTF-8") String index(){ return "Hello Spring Boot! The BookName is "+bookName+";and Book Author is "+bookAuthor+";and Book PinYin is "+bookPinYin; }
然后在浏览器中输入,很简单吧
类型安全的配置
刚刚说的这种方式我们在实际项目中使用的时候工作量略大,因为每个项目要注入的变量的值太多了,这种时候我们可以使用基于类型安全的配置方式,就是将properties属性和一个Bean关联在一起,这样使用起来会更加方便。我么来看看这种方式怎么实现。
1.在src/main/resources文件夹下创建文件book.properties
文件内容如下
book.name=红楼梦 book.author=曹雪芹 book.price=28
2.创建Book Bean,并注入properties文件中的值
package org.sang.test19springboot3; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "book")//prefix是前缀 @PropertySource("classpath:book.properties")//指定注入的文件是哪个。 public class BookBean { private String name; private String author; private String price; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } }
3.添加路径映射
在Controller中添加如下代码注入Bean:
@Autowired private BookBean bookBean;
添加路径映射
@RequestMapping("/book") public String book() { return "Hello Spring Boot! The BookName is "+bookBean.getName()+";and Book Author is "+bookBean.getAuthor()+";and Book price is "+bookBean.getPrice(); }
输入浏览器可看到结果。
日志配置
对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】