如何在春天引导使用的应用程序。属性配置文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
首先,当我们创建一个弹簧引导工程时,默认资源目录下就有一个应用程序。属性文件,可以在应用程序。属性文件中进行项目配置,但是这个文件并非唯一的配置文件,在春天的引导中,一共有4个地方可以存放应用程序。属性文件。
- <李>
当前项目根目录下的配置目录下
李> <李>当前项目的根目录下
李> <李>资源目录下的配置目录下
李> <李>资源目录下
李>按如上顺序,四个配置文件的优先级依次降低。如下:
这四个位置是默认位置,即弹簧引导启动,默认会从这四个位置按顺序去查找相关属性并加载。但是,这也不是绝对的,我们也可以在项目启动时自定义配置文件位置。
例如,现在在资源目录下创建一个javaboy目录,目录中存放一个应用程序。属性文件,那么正常情况下,当我们启动弹簧启动项目时,这个配置文件是不会被自动加载的。我们可以通过spring.config。位置属性来手动的指定配置文件位置,指定完成后,系统就会自动去指定目录下查找应用程序。属性文件。
此时启动项目,就会发现,项目以类路径:/javaboy/应用程序。propertie配置文件启动。
这是在开发工具中配置了启动位置,如果项目已经打包成jar,在启动命令中加入位置参数即可:
java -jar properties-0.0.1-SNAPSHOT.jar ——spring.config。位置=类路径:/javaboy/
<强>文件名问题
强>
对于应用程序。属性而言,它不一定非要叫应用程序,但是项目默认是去加载名为应用程序的配置文件,如果我们的配置文件不叫应用程序,也是可以的,但是,需要明确指定配置文件的文件名。
方式和指定路径一致,只不过此时的关键是spring.config.name。
首先我们在资源目录下创建一个app.properties文件,然后在想法中指定配置文件的文件名:
指定完配置文件名之后,再次启动项目,此时系统会自动去默认的四个位置下面分别查找名为app.properties的配置文件。当然,允许自定义文件名的配置文件不放在四个默认位置,而是放在自定义目录下,此时就需要明确指定spring.config。位置。
配置文件位置和文件名称可以同时自定义。
普通的属性注入
由于弹簧引导源自春天,所以春天中存在的属性注入,在春天中引导一样也存在。由于弹簧引导中,默认会自动加载应用程序。属性文件,所以简单的属性注入可以直接在这个配置文件中写。
例如,现在定义一个书类:
public class Book { ,private Long id; ,private String 名称; 作者,private String ; ,//省略,getter/setter }
然后,在应用程序中。属性文件中定义属性:
book.name=三国演义 book.author=罗贯中 书。id=1
按照传统的方式(春天中的方式),可以直接通过@ value注解将这些属性注入到书对象中:
@ component public class  Book { ,@ value (“$ {book.id}“) ,private Long id; ,@ value (“$ {book.name}“) ,private String 名称; ,@ value (“$ {book.author}“) 作者,private String ; ,//省略getter/setter }
<>强注意强>
的书对象本身也要交给春容器去管理,如果书没有交给春容器,那么书中的属性也无法从春容器中获取到值。
配置完成后,在控制器或者单元测试中注入书对象,启动项目,就可以看到属性已经注入到对象中了。
一般来说,我们在应用程序。属性文件中主要存放系统配置,这种自定义配置不建议放在该文件中,可以自定义属性文件来存在自定义配置。
例如在资源目录下,自定义书。属性文件,内容如下: