初探SpringBoot

前言

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

初识 Springboot

什么是Spring Boot

1.Spring Boot 是简化 Spring 应用开发的一个框架

2.Spring Boot 主要提供了以下的功能:
(1)、创建独立的Spring应用程序
(2)、嵌入的Tomcat,无需部署WAR文件
(3)、简化Maven配置
(4)、自动配置Spring
(5)、提供生产就绪型功能,如外部配置

快速创建一个Spring Boot 项目

(1)、Idea里面,点击 File --> new --> project --> Sping Initializr,选择 jdk 版本,然后点击 next

在这里插入图片描述
(2)、填写坐标
在这里插入图片描述
(3)、选择 web, Spring web, 选择springboot的版本,然后点击next
在这里插入图片描述
(4)、填写项目名以及项目路径
在这里插入图片描述
这样我们就创建了一个SpringBoot项目。

配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的;

application.properties
application.yml

配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML语法

基本语法:

k:(空格)v:表示一对键值对;注意:冒号后面必须要有空格

以空格的缩进来控制层级关系;注意:只要是左对齐的一列数据,都是同一个层级的
在这里插入图片描述

SpringBoot 中引入模板引擎 Thymeleaf

Thymeleaf 介绍

什么是 Thymeleaf

Thymeleaf 是 Web 和独立环境的现代服务器端 Java 模板引擎,能够处理HTML,XML,JavaScript,CSS 甚至纯文本。
动态页面需要先请求服务器,访问后台应用程序,然后再转向到页面,比如访问JSP。spring boot建议不要使用JSP,默认使用Thymeleaf模板引擎来做动态页面。

Thymeleaf 的优点

1、开箱即用。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果。并且开发人员也可以扩展和创建自定义的方言;
2、Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
3、便捷性:可以让前端开发人员在浏览器中直接打开查看样式,也可以让后端开发人员根据真实数据查看显示的效果。同时,SpringBoot 提供了 Thymeleaf 自动化配置解决方案。

Spring Boot 整合 Thymeleaf

引入thymeleaf

在这里插入图片描述
引入thymeleaf组件后, 动态跳转找的是 templates目录下的文件, 如果存在相同的文件, 优先访问的是templates下的文件

编写controller

在这里插入图片描述

编写 index.html

在这里插入图片描述

所有的配置完成后,启动项目在这里插入图片描述

**访问 http://localhost:8080/index
在这里插入图片描述

深入剖析Springboot

入口类及其源码剖析

在这里插入图片描述

首先从注解入手,进行分析:

@SpringBootApplication 注解:

@SpringBootApplication 注解——标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用
在这里插入图片描述

@SpringBootConfiguration 注解:

@SpringBootConfiguration 注解——Spring Boot的配置类;标注在某个类上,表示一个类提供了Spring Boot应用程序
在这里插入图片描述

@Configuration注解:

@Configuration注解——配置类上来标注这个注解
在这里插入图片描述

@EnableAutoConfiguration 注解:

@EnableAutoConfiguration 注解–告诉SpringBoot开启自动配置功能,这样自动配置才能生效借助@import,扫描并实例化满足条件的自动配置的bean,然后加载到IOC容器中
在这里插入图片描述

@AutoConfigurationPackage注解:

@AutoConfigurationPackage注解——自动配置包@Import(EnableAutoConfigurationImportSelector.class):给容器中导入组件
在这里插入图片描述

@ComponentScan注解:

@ComponentScan注解——自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IOC容器中去 。
在这里插入图片描述

实例化SpringApplication对象的源码剖析:

在这里插入图片描述

设置初始化器(Initializer):

initializers 是 SpringApplication 中的一个实例属性
在这里插入图片描述
initailizer实现了ApplicationContextInitializer接口
总结:
1、ApplicationContextInitializer接口的作用,在Spring上下文被刷新之前进行初始化的操作。典型地比如在Web应用中,注册Property Sources或者是激活Profiles。Property Sources比较好理解,就是配置文件。Profiles是Spring为了在不同环境下(如DEV,TEST,PRODUCTION等),加载不同的配置项而抽象出来的一个实体。
2、调用initialize()方法,把初始化的ApplicationContextInitializer实现加载到SpringApplication中

设置监听器:

在这里插入图片描述
继承了ApplicationListener()接口——在这里使用到了观察者模式,有一个被观察者和许多观察者,当被观察者的状态发生改变时,要通知所有的观察者做一些操作。

推断主应用入口类:

在这里插入图片描述

run() 方法源码剖析:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值