3.1. 读取配置文件
3.1.1. .读取核心配置文件
在工程的src/main/resources 下修改核心配置文件
application.properties, 添加内容如下
name=张三
url=http://www.zengxiaoting.cn
在Controller中添加:
@Resource
private Environment env;
@RequestMapping("list")
public List<User> queryUserAll() {
System.out.println(env.getProperty("name"));
System.out.println(env.getProperty("url"));
List<User> list = this.userService.findAll();
return list;
}
就可以直接把配置文件信息打印出来。
注意包名是:org.springframework.core.env.Environment
3.1.2. 读取自定义文件
在工程的src/main/resources 下构建自定义配置文件mail.properties, 内容如下
mail.host=ftp.miao.com
mail.port=25
mail.username=zengxiaoting
mail.password=123456
编写JavaBean
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(locations = "classpath:mail.properties", prefix = "mail")
public class MailProperties {
private String host;
private Integer port;
private String username;
private String password;
set/get。。。
}
改造Controller
@Autowired
private MailProperties mailProperties;
@RequestMapping("/mailInfo")
public String mailInfo() {
return mailProperties.getHost() + "<br>" + mailProperties.getPort() + "<br>" + mailProperties.getUsername()
+ "<br>" + mailProperties.getPassword();
}
3.2. 打jar包
在工程的pom.xml中添加以下依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我们目前的工程采用的是jar 的打包方式,所以我们在执行package 命令后,会产生一个jar 包。
我们进入到这个目录用压缩软件打开此jar 包,其中我们发现了一个叫lib 的文件夹,打开lib 文件夹发现此文件夹下全是工程依赖的jar包,甚至还有tomcat。
这种包含有jar 包的jar包,我们称之为fatJAR( 胖jar 包),由于fatJAR 本身就包括tomcat , 我们就不需要另外部署了,直接在命令行就可以把我们的应用
启动起来,在命令行,进入到jar 包所在的目录,我们可以通过以下java –jar命令来执行此jar 包。
3.3. 打war包
spring-boot 默认提供内嵌的tomcat,所以打包直接生成jar 包,用java
-jar 命令就可以启动。但是,有时候我们更希望一个tomcat 来管理多个项目,
这种情况下就需要项目是war 格式的包而不是jar 格式的包。
我们按照以下步骤完成对工程的改造
(1)修改pom.xml
将打包方式修改为war
<packaging>war</packaging>
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
spring-boot-starter-tomcat 是原来被传递过来的依赖,默认会打到包里,所
以我们再次引入此依赖,并指定依赖范围为provided,这样tomcat 相关的jar
就不会打包到war 里了.
(2)添加ServletInitializer
import org.springframework.boot.builder.SpringApplicationBuilder;
import
org.springframework.boot.context.web.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilderapplication) {
return application.sources(Application.class);
}
}
(3)运行package 打包命令生成war 包
生成后将war 包放入tomcat的webapp目录下,在bin目录下启动tomcat,测试完成的功能是否可以使用。
3.4. 附录
https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/