Java之Spring Boot学习笔记

1.Spring Boot简介:

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

1.1 Spring Boot的特点:

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。

SpringSpring Boot
依赖设置繁琐起步依赖(简化依赖配置)
配置繁琐自动配置(简化常用工程相关配置)
辅助功能
类/配置文件SpringSpringBoot
pom文件中的坐标手工添加勾选添加
web3.0配置类手工添加
Spring/SpringMVC配置类手工添加
控制器手工添加手工制作
注:基于IDEA开发SpringBoot程序需要确保联网且能够加载到程序框架结构

2.SpringBoot Parent讲解

入门案例解析

定义一系列的常用坐标版本

<properties>
  <druid.version>1.1.16</ druid.version>
  <mybatis.version>3.5.6</mybatis.version>
  <mysql.version>5.1.47</mysql.version>
  <db2.version>1.2.3</ db2.version>
  <oracle.version>2.3.4</oracle.version>
  <sybase.version>3.4.5</sybase.version>
  <dbase.version>4.5.6</ dbase.version>
  <foxpro.version>5.6.7</foxpro.version>
  <...... version>6.7.8</......version>
</propertiesx>

定义一系列的常用坐标组合

<dependency>
  <groupId>com.alibaba</groupId><artifactId>druid< / artifactId>
    <version>${druid.version}</version></ dependency>
<dependency>
  <groupId>org.mybatis</groupId><artifactId>mybatis< / artifactId>
    <version>$imybatis.version}</version></dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java< / artifactId><version>$imysql.version}</version>
</dependency>

直接组合使用

<parent>
  <groupId>itheima</groupId>
  <artifactId>project-parent< / artifactId><version>1.1.10</version>
</parent>

<parent>
  <groupId>itheima</groupId>
  <artifactId>project-parent< / artifactId><version>1.1.10</version>
</parent>

image.png

小结

  1. 开发SpringBoot程序要继承spring-boot-starter-parent
  2. spring-boot-starter-parent中定义了若干个依赖管理
  3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
  4. 继承parent的形式也可以采用引入依赖的形式实现效果

3.stater的介绍

image.png

starter

SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的

parent

所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
spring-boot-starter-parent各版本间存在着诸多坐标版本不同

实际开发

使用任意坐标时,仅书写GAV(groupId, artifactId, version)中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V

小结:

  1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
  2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
  3. 使用starter可以实现快速配置的效果,达到简化配置的目的

4.引导类的介绍

启动方式

@SpringBootApplication
    public class Springboot0101QuickstartApplication {
        public static void main(String[] args) {
            ConfigurableApplicationContext ctx = SpringApplication.run(Springboot0101QuickstartApplication.class, args);
            //获取bean对象
            BookController bean = ctx.getBean(BookController.class);
            System.out.println("bean======>" + bean);
        }
    }
  • SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
  • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean

小结:

  1. SpringBoot工程提供引导类用来启动程序
  2. SpringBoot工程启动后创建并初始化Spring容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秋LY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值