SpringBoot-01-简述概要

1. SSM开发面临的问题

  • 版本兼容性问题

  • 大量的配置

2. SpringBoot的基本概念

2.1. SpringBoot是什么

  • JavaEE的一站式解决方案,一套真正的Spring全家桶应用

  • Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的。

  • 使用它可以做到专注于Spring应用的开发,无需过多关注XML的配置。

  • 它提供了一堆依赖包,并已经按照使用习惯解决了依赖问题。使用默认方式实现快速开发。

  • 提供大多数项目所需的非功能特性,诸如:嵌入式服务器、安全、心跳检查、外部配置等。

  • Spring Boot 不生成代码,完全无需 XML配置,创建即用。

2.2. SpringBoot的开发要求

由于SpringBoot更新很快 并且向前兼容 所以我们可以直接学习

2.4. SpringBoot的四大核心

  • 1:自动配置:常用的功能 SpringBoot 自动提供相关配置

  • 2:起步依赖:这个怎么表达呢?大概的意思就是:需要什么功能 直接引入starter SpringBoot 它就会引入需要的依赖

  • 3:Actuator:能够深入SpringBoot应用程序 让你看到SpringBoot内部信息

  • 4:命令行界面:这个是Spring可选特性 主要针对Groovy语言

3.SpringBoot的简单使用

非maven项目可以使用springboot maven项目也可以使用springboot 我们以maven项目说明

3.1. SpringBoot项目创建

3.1.1. 新建maven工程

  • 创建maven工程

3.1.2. pom.xml添加主配置依赖

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!--SpringBoot的父工程 主要是做版本管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.5.RELEASE</version>
    </parent>

    <!--SpringBoot的启动器-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

3.1.3. 创建一个类

3.1.4. 创建一个controller

3.1.5. 运行main方法

3.1.6.控制台

 

3.2. springBoot项目疑问

  • 疑问一: 我pom文件中 并没有依赖spring和springmvc 为何controller可以直接访问

  • 疑问二: 我只是建立了一个普通的java的maven工程 根本就不是web工程 哪来的tomcat

3.2.1. 疑问一说明

 

3.2.2. 疑问二说明

 

 

3.3. springBoot项目分析

我们还有一些疑问没有解答 就是虽然说间接依赖了web层的很多支持 项目也能正常运行 但是他们的版本在哪指定的 有没有版本兼容性问题呢? 另外我们并没有任何的配置啊 扫描以及注解驱动等等 都没有

3.3.1. 项目分析之父标签

3.3.2. 项目分析之web启动器

 

 

3.3.3. 项目分析之启动器

刚才的分析 让我们了解了 虽然说我们只是引入了 web的启动器 但是也间接依赖了springmvc和spring ,虽然说 我们这些包有了 但是我们开发ssm时 需要大量的配置 比如包扫描等等 为何在项目中看不到呢?

  • 注解说明  

 

 

4. SpringBoot脚手架创建工程

4.1. 新建工程

4.2. 填写项目信息

4.3.勾选功能模块

4.4. 删除不需要的信息

4.5. 工程目录介绍

4.6.编写运行

同上3

5. SpringBoot的配置文件

SpringBoot的配置文件分为2种

默认名字:application, 使用这个名字, 会自动识别, 无需额外配置

第一种:properties格式

第二种:yml(yaml)格式

5.1. Properties的语法

5.1.1.配置普通值@Value

 5.1.2.配置对象

@ConfigurationProperties 这个注解 表示从主配置文件中 读取配置的内容 读取内容的类 必须在容器中 并且这个注解给属性赋值 依赖set方法 如果不提供set方法 可以使用@Value代替@ConfigurationProperties

 5.1.3.配置Map集合

5.1.4.配置集合 

5.2. yml格式语法

5.2.1. 配置普通格式@Value

5.2.2. 配置对象

5.2.3. 配置map格式

map格式和对象格式一样 只是不需要指定前缀 而是把前缀当做map的变量名

5.2.4. 配置list格式

5.3. 说明

在SpringBoot的配置文件中 定义变量 接收的方式 有2种

注意:这2种方式所使用的类 必须在spring容器中

  • 第一种@Value的方式

    这种方式 不依赖于set方法 直接指定配置key 获取值

  • 第二种@ConfigurationProperties注解

    这种方式需要依赖于set方法 默认从springBoot的配置文件中 读取属性名一致的key 并且可以指定前缀

5.4.配置文件占位符

5.5.加载非本身properties

对象形式接收, 普通形式使用@Value

6.总结

6.1.SpringBoot如何把一个类放入容器中 

1.注解 如:Component
2.@Configuration+@Bean
3.xml配置文件 

 6.2.如何加载外部properties 外部的spring.xml

 //加载外部Spring.xml配置文件使用, 如:
@ImportResource("classpath:applicationContext.xml")
//加载的是properties文件, 如:
@PropertySource("classpath:db.properties")

6.3. 配置文件问题

1.properties和yml同时存在

  • 两个配置文件同时存在, 则这两个配置文件都会被加载, 但是properties文件的优先级高, 如果两个文件中, 有相同的配置, 则默认使用的是优先级高得properties当中的配置. 优先级高的晚加载

2.项目内:配置文件位置

  1. 项目下的config目录下

  2. 项目下

  3. resources下config下

  4. resources下

以上配置文件的位置, 优先级依次降低, 4个配置文件位置都会被加载, 优先使用优先级高的.这4个位置中, 前两个位置没有, 打包的时候默认不会被打进去.

3.项目外:如果项目打成了jar包, 想要修改配置有:

  1. 修改命令行参数
  2. 修改虚拟机参数
  3. 定义一个配置文件( 推荐 ), 放到jar包同目录, 启动则会自动替换默认配置 

   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值