多环境配置文件的示例如下:
创建开发环境的配置文件:application-dev.properties(或者application-dev.yml )
创建测试者使用的配置:application-test.properties
springboot默认读取application.properties文件,故需在该文件中配置实际需要读取的核心配置文件
#以激活配置文件 application-dev.properties为例spring.profiles.active=dev@ConfigurationProperties
- 设计思想:把配置文件的数据映射到java对象的属性上,将配置文件中某些开头和prefix指定的值相同的对应配置文件中的值赋给对应属性
- 例如:application.properties
#自定义key=valueschool.name=橘子school.website=www.test.comschool.address=黑龙江哈尔滨- 则对应的实体类应该如下,其中name会被注入配置文件中的school.name的值,其他属性类似
@Component@ConfigurationProperties(prefix = "school")public class SchoolInfo {private String name;private String website;private String address;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getWebsite() {return website;}public void setWebsite(String website) {this.website = website;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "SchoolInfo{" +"name='" + name + '\'' +", website='" + website + '\'' +", address='" + address + '\'' +'}';}}使用jsp
- SpringBoot不推荐使用jsp, 而是使用模板技术代替jsp
- 如果要使用jsp, 需要添加如下依赖,负责编译jsp文件
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency>- 如果需要使用servlet, jsp, jstl的功能, 需要添加如下依赖
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId></dependency><dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId></dependency><dependency><groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version></dependency>- 创建一个存放jsp的目录, 一般为src/main/webapp目录,记得设置webapp的目录属性
- 需要在pom.xml指定jsp文件编译后的存放目录:META-INF/resources
<resource> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> <includes><include>**/*.*</include> </includes></resource>- 创建Controller, 访问jsp
- 在application.propertis文件中配置视图解析器
#配置视图解析器spring.mvc.view.prefix=/spring.mvc.view.suffix=.jsp手动使用SpringBoot容器获取对象
- 关注SpringBoot工程的主启动类的run方法
@SpringBootApplicationpublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) {return run(new Class[]{primarySource}, args);}- 而ConfigurableApplicationContext是ApplicationContext的子接口
public interface ConfigurableApplicationContext extends ApplicationContext, Lifecycle, Closeable {}- 所以接收SpringBoot主启动类的run方法的返回值就可以获取到SpringBoot容器
- 之后便可以按照需求调用SpringBoot容器的方法获取已经注册到容器中的对象
CommandLineRunner接口 与 ApplcationRunner接口
- 两个接口
经验总结扩展阅读
-
-
NANA谈健康|出现泡沫尿,是肾出现了问题吗?3种疾病确实要重视起来
-
为什么国产的有些电影评分那么低明星的酬劳却是那么多?
-
-
2022年9月19日是拜观音吉日吗 2022年9月19日适合拜观音吗
-
-
-
-
-
-
三亚海鲜市场该如何还价格,三亚的海鲜很贵吗?哪里可以买到便宜又新鲜的平民海鲜呢?
-
-
女娲|“女娲补天”或许不是神话?可能发生于上古文明,补的也许是虫洞
-
-
-
-
-
-
霍思燕 杜江霍思燕结婚9年,恩爱如热恋:所谓恩爱夫妻,全靠两人打配合
-