springboot

一、Spring Boot简介1、概念简介Spring Boot是Spring公司的一个顶级项目,和Spring Framework是一个级别的。Spring Boot实际上是利用Spring Framework 4 自动配置特性完成。编写项目时不需要编写xml文件。发展到现在,Spring Boot已经具有很很大的生态圈,各种主流技术已经都提供了Spring Boot的启动器。启动器?Spring框架在项目中作用是Spring整合各种其他技术,让其他技术使用更加方便。Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。当然了,启动器中自动配置无法实现所有内容的自动配置,在使用Spring Boot时还需要进行少量的配置(这个配置不是在xml中了,而是在properties或yml中即可)。如果是Spring自己封装的启动器的artifact id名字满足:spring-boot-starter-xxxx,如果是第三方公司提供的启动满足:xxxx-spring-boot-starter。以后每次使用Spring Boot整合其他技术时首先需要考虑导入启动器。2、Spring Boot特征 使用Spring Boot可以创建独立的Spring应用程序 在Spring Boot中直接嵌入了Tomcat、Jetty、Undertow等Web 容器,所以在使用SpringBoot 做Web开发时不需要部署WAR文件 通过提供自己的启动器(Starter)依赖,简化项目构建配置 尽量的自动配置Spring和第三方库 绝对没有代码生成,也不需要XML配置文件3、Spring Boot版本介绍SNAPSHOT:快照版,即开发版。CURRENT:最新版,但是不一定是稳定版。GA:General Availability,正式发布的版本。4、学习Spring Boot在学习什么?SpringBoot本质是Spring Framework,Spring Framework主要作用就是整合其他技术。所以学习Spring Boot就是在学习如何整合其他技术。二、第一个基于Spring Boot的Spring MVC项目1、配置依赖在pom.xml中添加一个继承(主要目的:1. 配置文件 2. 插件3.依赖jar)引入springmvc启动器1.1 注意在公司中可能会出现必须继承某个项目,如果Spring Boot用了继承就不能继承别的项目了。所以Spring Boot还提供了依赖的方式。2、新建启动类Spring Boot的启动类的作用是启动Spring Boot项目,是基于Main方法来运行的。注意:启动类在启动时会做注解扫描(@Controller、@Service、@Repository…),扫描位置为同包或者子包下的注解,所以启动类的位置应放于包的根下。2.1 启动类与启动器区别:启动类表示项目的启动入口启动器表示jar包的坐标必须在包中新建这个类,不能直接放入到java文件夹。在com.bjsxt下新建自定义名称的类(规范:XXXXApplication)3、新建控制器在com.bjsxt包下新建 controller.DemoController(保证这个类在启动类子包中(或同级包中))4、启动项目运行主方法。默认tomcat端口为8080端口三、Spring Boot配置文件Spring Boot提供一个名称为application的全局配置文件,支持两种格式properteis格式与YML格式。1、Properties格式配置Tomcat监听端口2、YML格式YML格式配置文件的扩展名可以是yaml或者yml。2.1 基本格式要求① 大小写敏感② 使用缩进代表层级关系③ 相同的部分只出现一次配置Tomcat监听端口3、配置文件存放位置 当前项目根目录中 当前项目根目录下的一个/config子目录中 项目的resources即classpath根路径中 项目的resources即classpath根路径下的/config目录中4、配置文件加载顺序4.1 不同格式的加载顺序如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。4.2 不同位置的加载顺序1)当前项目根目录下的一个/config子目录中(最高)config/application.propertiesconfig/application.yml2)当前项目根目录中(其次)application.propertiesapplication.yml3)项目的resources即classpath根路径下的/config目录中(一般)resources/config/application.propertiesresources/config/application.yml4)项目的resources即classpath根路径中(最后)resources/application.propertiesresources/application.yml5、bootstrap配置文件5.1 bootstrap配置文件介绍Spring Boot 中有两种上下文对象,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。5.2 bootstrap配置文件特征 boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载。 boostrap 里面的属性不能被覆盖。5.3 bootstrap与 application 的应用场景application 配置文件主要用于 Spring Boot 项目的自动化配置。bootstrap 配置文件有以下几个应用场景。 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。 一些固定的不能被覆盖的属性。 一些加密/解密的场景。四、Spring Boot项目结构五、Spring Boot整合MyBatis1、依赖启动器2、配置配置文件在application.yml中添加如果希望设置实体类包别名3、添加注解在启动类上添加注解,表示mapper接口所在位置4、编写Mapper接口在com.bjsxt.mapper下新建接口4.1 在mapper上添加注解如果不在MyApplication启动类上添加@MapperScan必须在UserMapper接口上添加@Mapper注解。5、编写mapper.xml在resource下新建mybatis文件夹,mapper.xml文件名没有要求了,不需要和接口名完全对应了,是根据namespace去找接口。六、深入Spring Boot自动化配置原理使用Spring自家产品时,所有的配置都是spring-boot-autoconfiguer中。当使用第三方产品时需要由第三方产生进行提供自动化配置。本阶段以mybatis-spring-boot-starter举例,分析得出重要角色:Mybatis-spring-boot-autoconfigure项目包含:MyBatisAutoConfiguration自动化配置类MyBatisProperties 支持的配置属性1、查看mybatis-spring-boot-starter依赖的自动化配置每个启动器都会有个自动化配置的依赖2、查看spring.factories文件在mybatis-spring-boot-autoconfigure中/META-INF/spring.factories编写了自动化配置类3、查看MyBatisAutoConfiguration上面配置了自动化配置条件4、查看MybatisProperties七、自定义Spring Boot启动器自定义SpringBoot启动器时一般包含两块:xxx-spring-boot-autoconfigure:里面编写自动化配置相关内容。xxx-spring-boot-starter:只是一个依赖,依赖xxx-spring-boot-autoconfigure需求:要求定义出bjsxt-spring-boot-starter支持配置文件属性配置bjsxt.name=bjsxt.itbaizhanbjsxt.age=141、新建bjsxt-spring-boot-autoconfigure2、添加依赖在pom.xml中添加依赖3、新建BjsxtProperties新建com.bjsxt.starter.BjsxtProperties。@ConfigurationProperties中prefix表示配置文件中配置属性前缀。4、新建BjsxtService新建com.bjsxt.starter.BjsxtService。要通过有参构造实例化,同时给全局属性进行赋值。5、新建BjsxtAutoConfiguration在每个启动器里面都会有这样的一个类,实现自动化配置。6、配置自动化类在resources中下新建META-INF/spring.factories。7、安装对bjsxt-spring-boot-autoconfigure进行本地installmaven install尚学堂springboot全套教程2020版关于springboot的更多文章转发0评论0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值