Spring Boot基础知识

Spring boot

一、Spring Boot介绍

1.1 引言

  • 为了使用ssm框架去开发,准备ssm框架的模块配置
  • 为了spring 整合第三方框架,单独写xml配置文件
  • 导致ssm项目后期xml文件特别多,维护xml文件的成本很高
  • ssm部署也是很麻烦的,依赖第三方的容器
  • ssm开发方式很笨重

1.2 Spring Boot介绍

SpringBoot是由Privota团队研发的,SpringBoot并不是一门技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,并隐藏了这些框架的整合细节,实现敏捷开发

Spring Boot就是一个工具类。

1.3 Spring Boot的特点

  • Spring Boot项目不需要模板化的配置
  • 在Spring Boot 中整合第三方的框架是,只需要导入相应的starter依赖包,就自动整合了
  • Spring Boot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用,.java文件去编写配置信息
  • SpringBoot工程部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置。
  • 后期要学习的微服务框架Spring Cloud需要建立在Spring Boot 的基础上。

二、Spring Boot快速入门

2.2 spring boot工程中的目录结构

  • pom.xml文件

  • 指定了一个父工程,指定了当前工程中为springboot,帮助我们声明了starter依赖的版本

  • 项目的元数据:包名,项目名,版本号

  • 指定了properties信息:指定了java的版本1.8

  • 导入依赖:默认情况下导入spring-boot-starter, spring-boot-starter-test

  • 插件:spring-boot-maven-plugin

  • .gittignore文件:默认帮助我们忽略了一些文件和目录

src目录

点击查看代码
- src
  - main
  	- java 
  		- 包名
  			启动类.java   # 需要将controller类,放在启动类的子类包中或者同级包下
  	- resources
  		- static   # 存放静态资源的
  		- templates  # 存储模板页面的
  		application.porperties  # SpringBoot提供的唯一的配置文件
  - test # 测试用的

2.3 三种启动方式

运行启动类的main方法即可运行springboot工程

采用maven的命令去运行spring Boot工程:mvn spring-boot:run

采用jar包的方式运行,将当前的项目打包成一个jar文件
mvn clean package
通过 java -jar jar文件

三、Spring Boot常用注解

3.1 @Configuration和@Bean

之前使用ssm去开发的时候,在xml文件中编写bean标签。但是spring boot不推荐使用xml文件

@configuration注解相当于beans标签
@Bean注解相当于bean标签

id="方法名 | 注解中的name属性(优先级更高)"
class="方法的返回结果"

@Configuration // 代表当前类是一个配置类

点击查看代码
@Configuration           // 代表当前类是一个配置类
public class UserConfig {

    @Bean(name = "user1")
    public User user(){
        User user = new User();
        user.setId(1);
        user.setName("张三");
        return user;
    }

    /*
    <beans .....>  @Configuration
        @Bean
        <bean id="user1" class"com.gopan.firstspringboot.entity.User">
    </beans>
    */
}

3.2 @SpringBootApplication

@SpringBootApplication是一个组合注解

1.@SpringBootConfiguration就是@Configuration注解,代表我的启动类就是一个配置类。

2.@EnableAutoConfiguration帮你实现自动装配的,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/spring.factories配置类(已经开启的),通过SpringFactoriesLoader中的load方法,以For循环的方式,一个一个地加载。

好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可。
坏处:如果导入了starter依赖,那么你就需要填写他必要的配置信息。

手动关闭自动装配指定内容

@SpringBootApplication(exclude = QuartzAutoConfiguration.class)不加载 Quartz

3.@ComponentScan就相当于<context:component-scan basePackage="包名"/>帮助扫描注解的

四、Spring Boot常用·配置

4.1 Spring Boot 的配置文件的格式

SpringBoot的配置文件支持properties和yml,甚至还支持json

更推荐使用yml文件格式:

yml文件 会根据换行和缩进帮助咱们管理配置文件的所在位置。

使用properties文件配置很难管理,需要手动管理

yml 文件,相比于properties更轻量级一些

yml文件的劣势:严格遵循换行和所缩进
在填写value时,一定要在:后面跟上空格

4.2 多环境配置

在application.yml文件中添加一个配置项:
spring:
profiles:
active: 环境名

在resourcea目录下,创建多个application-环境名.yml即可
在部署工程时,通过 java -jar 文件 - - spring.profiles.active = 环境名

4.2 引入外部配置文件信息

和传统的ssm的方式一样,通过@value注解去获取properties/yml文件中的内容
如果在yml文件中需要编写大量的自定义的配置,并且具有统一的前缀时,可以采用下方方式

@ConfigurationProperties(prefix = "aliyun")
@Component
@Data
public class AliyunProperities {

    private String  xxxx;

    ...

}
aliyun:
  xxxx: xxxxxxxx
  ...
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

4.4 热加载

1.导入依赖

    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

2.修改settings中的配置

3.修改内容后,可以通过build重新构建工程

posted @   阿高在学习  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
Spring boot一、Spring Boot介绍1.1 引言1.2 Spring Boot介绍1.3 Spring Boot的特点二、Spring Boot快速入门2.2 spring boot工程中的目录结构2.3 三种启动方式三、Spring Boot常用注解3.2 @SpringBootApplication四、Spring Boot常用·配置4.1 Spring Boot 的配置文件的格式4.2 多环境配置4.2 引入外部配置文件信息4.4 热加载
点击右上角即可分享
微信分享提示