download:SpringBoot 在线协同办公小程序开发 全栈式项目实战
未来,在线协同办公将成为一种常态化的工作方式。本课程将采用最流行的前后端分离架构设计,应用 SpringBoot+uniapp 技术栈开发一款在线协同办公的小程序。让你掌握未来趋势型业务 + 前后端综合技术栈,带你实现全技术栈的综合提升。
技术要求
1.HTML / CSS 基础 2.JS 交互知识 3.基本的 Vue 知识 4.JavaWeb 相关知识
环境参数
SpringBoot 2.3、uni-app2.9 开发工具:IDEA、HBuilderX
Spring-boot自出现后,到现在火的很,大家貌似都在用,连招聘里面也要求会这个。但是说实话,spring-boot无外乎想实现一种可插拔的编程方式,说是简化配置,其实并没有减少多少,只不过把配置落到代码里面,通过各种annotation来标示了。
作为个人其实不太愿意团队用spring-boot这种层层封装的方式,各种jar铺天盖地,最终大家都被绑架了,自己底层的能力不一定有什么提高。
spring-boot的starter又是个什么鬼?
一句话,spring-boot的starter是一个通过maven完成自包含并通过annotation配置使得可被spring上下文发现并实例化的一个可插拔的组件或服务。
spring-boot有两种starter
一种是内部已经支持的,一种是第三方的。
内部支持starter:
其通过@ConditionalOnClass来实决定是否例化(ConditionalOnClass是指当在classpath发现需要的依赖的类时实例化),想要启动这个服务,只要要配置上对应的starter,这个starter就能把所需要的jar给关联上。
类似于我们对log的使用,默认使用slf4j这个api接口,提供一个钩子,classpath里面谁实现了这个机构,谁就挂到这个钩子上成为log具体实现,其中log4j就是一个实现。
通过spring的如下maven配置即可看见里面已经通过dependencyManagement(这个时maven的依赖管理,不用的时候不会加载)给你配置好了所有内置starter。只需要用的时候把对应的starter依赖配置上就行了。
org.springframework.boot
spring-boot-starter <
/dependency>
所有的starter其实都是要通过代码配置被上下文发现的,可以在spring-boot-autoconfigure-xxx.jar去看,如下:。
内置的tomcat,jetty也在里面:
具体代码:
通过ConditionalOnClass只要发现了tomcat这个类(配置了spring-boot-starter-web的maven依赖后就会会有),就会启动tomcat的服务。
第三方starter:
比如mybatis等。
原理是一样的,就是在你已经实现的服务代码之上封装一层配置代码就行,看看mybitis的,这是mybatis-spring-boot-starter的依赖。
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
这个依赖是一个pom,点进去可以看见自包含的依赖关系,其中一个就是mybatis的autoConfigure,通过@bean等annotation完成对mybatis的实例化配置,如下: