SpringBoot的目录结构
| /src/main | 项目根目录 |
|---|---|
| /java | java源代码 |
| /resources | 资源目录 |
| /resources/static | 静态资源目录 |
| /resources/templates | 表示层页面目录 |
| /resources/application.properties | SpringBoot配置文件 |
| /test | 测试文件目录 |
使用Maven创建SpringBoot项目
- 点击IDEA
create new project选择Maven 直接点击下一步
create new project - 设置
GroupId和ArtifactId, 再点击next, 再点击Finish项目创建完成
设置GroupId和ArtifactId - 在
resource里创建static文件,templates文件夹和application.properties
创建固定需要的目录结构 - 添加
SpringBoot的依赖, 在pom.xml里添加如下配置- 第一种
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.14.RELEASE</version> <configuration> <!--设置项目的入口--> <mainClass>com.rui.springboot.MySpringBootAppliacation</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.14.RELEASE</version> </dependency> </dependencies>- 第二种(注: 如果出现
SpringBoot依赖的jar包下载不下来的情况, 请使用第一种)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.14.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-booot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> - 添加项目入口, 项目目录结构的
MySpringBootApplication, 添加@SpringBootApplication注解以后, 点击右键run即可运行项目
// 说明这是一个SpringBoot的入口类
@SpringBootApplication
public class MySpringBootAppliacation {
public static void main(String[] args) {
SpringApplication.run(MySpringBootAppliacation.class);
}
}
-
项目运行成功
项目运行成功
使用Spring Initializr构建Spring Boot应用
- 创建新项目选择
Spring Initializr,JDK选择1.8, 选择Default URL
create new project - 点击
next, 输入Group和Artifact
输入项目信息 - 左侧选择
web, 右侧勾选Spring web, 点击next
image.png -
输入项目名, 选择项目路径, 点击Finish完成创建
-
会自动生成resource里的文件目录, pom.xml里的配置, 以及项目入口类, 不需要手动设置配置
SpringBoot启动流程与常用配置
-
SpringBoot的入口类
- 入口类命名通常以
*Application结尾 - 入口类上增加
@SpringBootApplication注解 - 利用
SpringApplication.run()方法启动应用
- 入口类命名通常以
-
SpringBoot启动流程
SpringBoot启动流程 -
SpringBoot中的常用配置
在配置名称 默认值 描述 server.port8080端口号 server.servlet.context-path/ 设置上下文 logging.file无 日志输出路径 logging.levelinfo最低日志输出级别 debugfalse开启/关闭调试模式 spring.datasource.*与数据库相关的设置 application.properties中写入配置# 端口号 server.port=80 # 上下文 server.servlet.context-path=/myspringboot # 日志 logging.file=e:/myspringboot.log # 提高日志的输出级别 debug/info/warn/error/fatal(灾难级别, 服务器宕机) logging.level.root=error # debug 是否启动调试模式 debug=false # spring.datasource.* 设置数据源. 设置jdbc的相关参数 ## 设置JDBC的启动类 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ## 设置数据库的url spring.datasource.url=jdbc:mysql://localhost:3306/test ## 设置数据库的账号 spring.datasource.username=root ## 设置数据库的密码 spring.datasource.password=111111
SpringBoot配置文件
在日常开发中, 如果将配置都写在application.properties中, 太过于死板, 不利于运维修改配置信息
- 在SpringBoot中支持两种配置文件
- 属性文件:
application.properties -
YAML格式:application.yml
- 属性文件:
- YAML语法简介
- YAML是一种简洁的非标记语言, YAML以数据为中心, 使用空白, 缩进, 分行组织数据, 从而使得表示更加简洁易读.
- YAML语法格式
- 标准格式:
key:(空格)value - 使用刻个代表层级关系, 以
:结束
- 标准格式:
- 在
resources下创建application.yml文件, 即可实现和以上同样的配置debug: false # 在1.5.x的版本里logging #logging: # level: info # file: ./e/ logging: level: root: info file: ./e/ spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: root - 自定义配置项
SpringBoot允许我们自定义应用配置项, 在程序运行时允许动态加载, 这为程序提供了良好的可维护性
在实际的项目开发中, 我们通常将项目的自定义信息放在配置文件中.
配置读取debug: false logging: level: root: info file: ./e/ spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: root # 自定义配置 course: config: name: 李四 age: 14 isStudent: true@Controller public class MyController { @Value("${course.config.name}") private String name; @Value("${course.config.age}") private Integer age; @Value("${course.config.isStudent}") private Boolean isStudent; } - 环境配置文件
-
SpringBoot可针对不同的环境提供不同的Profile文件 -
Profile文件的默认命名格式为application-{env}.yml - 使用
spring.profiles.active选项来指定不同的profile - 在
resources下创建三个yml文件, 名字格式固定
在resources下创建三个yml文件, 名字格式固定 -
application-dev.yml为测试环境的配置文件
debug: false logging: level: root: info file: ./e/ spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: root course: config: name: 李四 age: 14 isStudent: true-
application-prd.yml为正式环境的配置文件
debug: false logging: level: root: info file: ./e/ spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://11.11.11:3306/test username: root password: root course: config: name: 张三 age: 14 isStudent: true server: port: 80- 项目的配置文件
application.yml
spring: profiles: active: prd # prd=>正式环境. dev=>测试环境, 改变active的值, 即可切换配置文件 -
打包与运行
- 利用
Maven的package命令, 生成可独立运行的jar包
利用`Maven`的`package`命令, 生成可独立运行的`jar`包
运行即可生成jar包 - 利用
java -jar xxx.jar命令启动Spring Boot应用- 进入jar包所在的文件内, 执行
jar -jar myspringboot-0.0.1-SNAPSHOT.jar即可启动
- 进入jar包所在的文件内, 执行
-
jar包可自动加载同目录下的application配置文件- 如果已经启动还想切换环境, 将
resources下的yml文件复制到和jar包同目录下,Spring Boot会优先加载同级目录下的yml文件, 切换完毕以后, 再次执行jar -jar myspringboot-0.0.1-SNAPSHOT.jar.
- 如果已经启动还想切换环境, 将











