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.port
8080
端口号 server.servlet.context-path
/ 设置上下文 logging.file
无 日志输出路径 logging.level
info
最低日志输出级别 debug
false
开启/关闭调试模式 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
.
- 如果已经启动还想切换环境, 将
网友评论