SpringBoot

SpringBoot

八月 19, 2019

1.SpringBoot是干什么的?

Spring Boot是一个构建在Spring框架顶部的项目。它提供了一种更简单、更快捷的方法来设置、配置和运行简单和基于Web的应用程序。
在过去Spring框架中,我们需要为应用配置所有的内容,会有许多配置文件,例如XML或元注释,这是Spring Boot解决的主要问题之一,基本无需XML配置了,都使用@注释。
Spring boot巧妙地根据我们选择的依赖配置,可以自动启动我们想要的所有功能,并且只需单击一下即可启动应用程序。此外,它还简化了应用程序的部署过程。

2.Spring Boot开发流程

配置环境  -->Spring Initializr  --> 配置参数(可选)
--> 业务开发  --> 自动构建    -->自动部署

核心特性

1.极低的学习成本
2.可独立运行的Spring项目
3.“习惯优于配置”,极大的提高了开发效率
4.及简的组件依赖,自动发现与自动装配
5.提供运行时的应用监控
6.与分布式架构和云计算的天然集成

SpringBoot目录结构

/src/main                    项目根目录
/java                        java源代码目录
/resources                   资源目录
/resources/static            静态资源目录(css,js)
/resources/templates         表示层页面目录(jsp)
/resources/application.properties    SpringBoot配置文件
/test                        测试文件目录

SpringBoot的入口类,以Application结尾

/**
 * 说明这是一个SpringBoot应用的入口类
 * 利用SpringApplication.run()方法启动应用
 */
@SpringBootApplication
public class MySpringBootApplication {
    public static void main(String[] args) {
        //启动springBoot应用
        SpringApplication.run(MySpringBootApplication.class);
    }
}

SpringBoot的启动流程

1.加载配置文件application.properties
2.自动装配:大量的启动器starter,对工程提供相应的支持
3.加载组件:@Repository对应dao用于数据处理
          |@Service对应业务逻辑类
          |@Controller对应mvc中的控制器类
          |@Component对应一些不太好区分的类
          |@Entity对应实体类
4.应用初始化

SpringBoot中常用的配置

server.port                    8080                端口号
server.servlet.context-path        /        设置应用上下文
logging.file                      无       日志文件输出路径    
logging.level                    info       最低日志输出级别
/*debug(程序的调试)-->info(程序的一般性输出信息)-->warn(警告信息)-->error(程序异常)-->fatal(灾难性错误)*/
debug                            false      开启/关闭调试模式
spring.datasource.*                        与数据库相关的设置

SpringBoot支持的两种配置文件

1.属性文件:application.properties

2.YAML格式:application.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
debug: true
#logging.level.root
#logging.file
logging:
level:
root: info
file: e:/myspringboot.log

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
mall:
config:
name: 爱美商城 如果需要在代码中读取该参数:@Value("${mall.config.name}")
description: 这是一家化妆品特卖网站
hot-sales: 20
show-advert: true

SpringBoot环境配置文件Profile文件

默认命名格式application-{env}.yml
在属配置文件使用spring.profiles.active选项来指定不同的profile

例如:在application.yml中指定:
    spring:
     profiles:
      active: prd

application-dav.yml        开发环境
application-prd.yml        线上环境

打包与运行

命令行中用 java -jar jar包名
如果需要修改jar包中的配置文件信息,就将工程中的配置文件复制到jar包的同级目录下,jar包运行就会优先读取新的配置文件