我对SpringBoot的思考

一、什么是SpringBoot?

在Spring框架这个大家族中,产生了很多衍生框架,比如Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建bean,依赖注入即为由Spring容器为应用程序的某个对象提供资源,比如引用对象、常量数据等。

SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

二、SpringBoot是怎么诞生的?

任何技术的诞生都是为了解决具体的问题。例如SpringBoot的诞生是为了解决Java开发中的繁多的配置、低下的开发效率,复杂的部署流程、第三方技术集成难度大等问题。

三、职业生涯中我在哪些项目中用到SpringBoot?

  • 智能门锁系统;
  • 资源管理系统;
  • 共享洗浴间项目;
  • 智浴平台;
  • 编程教育项目;
  • 魔改系统;
  • 教育Saas系统;
  • 某大数据分析Saas系统。

一共8个商业级系统,关于前六个,也就是智能门锁到魔改系统这块,是我在创业公司的经历,下面这两篇文章,感兴趣的朋友可以阅读:
创业公司这两年-简要概括-免费文章

创业公司这两年-详细概括-付费文章

四、我曾写过关于SpringBoot相关的文章有哪些?

下面这些文章都是我早年写的,感兴趣的朋友可以看看,但是技术这东西随着时间会不断发生变化的,有的开源技术随着时间不断更新迭代,有的开源技术随着时间慢慢的不再活跃直至死掉。

SpringBoot+MyBatis整合实例
SpringBoot入门程序
SpringBoot实战(一)之构建RestFul风格
SpringBoot实战(二)之计划任务
SpringBoot实战(三)之使用RestFul Web服务
SpringBoot实战(四)之使用JDBC和Spring访问数据库
SpringBoot实战(五)之Thymeleaf
SpringBoot实战(六)之使用LDAP验证用户
SpringBoot实战(七)之与Redis进行消息传递
SpringBoot实战(八)之RabbitMQ
SpringBoot实战(九)之Validator
SpringBoot实战(十)之使用Spring Boot Actuator构建RESTful Web服务
SpringBoot实战(十一)之与JMS简单通信
SpringBoot实战(十二)之集成kisso
SpringBoot实战(十三)之缓存
SpringBoot实战(十四)之整合KafKa
SpringBoot之热部署
SpringBoot整合Xxl-Job
SpringBoot之整合Dubbo
SpringBoot之整合MongoDB
SpringBoot+MyBatis-Plus实现多数据源
SpringBoot整合Apache-CXF实践
SpringBoot应用之运行jar包时指定端口
SpringBoot+MyBatis+Redis(二级缓存)
SpringBoot单文件与多文件上传
SpringBoot之AOP使用

最新的学习,还请参考官网上的:
SpringBoot官网
SpringBoot Github

五、SpringBoot常用的注解有哪些?

  • @Configuration;
  • @ComponentScan;
  • @Conditional;
  • @Import;
  • @ImportResource;
  • @Component;
  • @SpringBootApplication;
  • @EnableAutoConfiguration;
  • @SpringBootConfiguration;
  • @ConditionalOnBean;
  • @ConditionalOnMissingBean;
  • @ConditionalOnClass;
  • @ConditionalOnMissingClass;
  • @ConditionalOnWebApplication;
  • @ConditionalOnNotWebApplication;
  • @ConditionalOnProperty;
  • @ConditionalOnExpression;
  • @ConditionalOnJava;
  • @ConditionalOnResource;
  • @ConditionalOnJndi;
  • @ConditionalOnCloudPlatform;
  • @ConditionalOnSingleCandidate;
  • @ConfigurationProperties;
  • @EnableConfigurationProperties;
  • @AutoConfigureAfter;
  • @AutoConfigureBefore;
  • @AutoConfigureOrder。

关于上面的注解是什么意思以及实际中如何使用,可以通过相关搜索引擎得到答案,这里不再赘述。

六、SpringBoot与微服务

传统的SSM框架,配置繁琐,开发效率低,打包部署流程繁琐,第三方库并不是很友好等,不能适应微服务的需要。微服务是应分布式而生的。关于这一点我在如下文章已经较为详细说明过了,可以阅读:
从单体架构到分布式微服务架构的思考

我所写过关于微服务相关的思考文章如下:
质疑微服务设计
如何写好对外的API微服务
深入理解SaaS之架构篇
BASE理论之思考
CAP理论之思考
我在M2公司做架构系列文章

七、关于SpringBoot工作原理

用一句话概括,核心注解+执行流程。
核心注解主要看@SpringBootApplication注解,执行流程是关于启动流程。后面我会有专门的文章围绕这两个方面进行详细讲解。

八、总结

在这个充满焦虑而又内卷的社会里,不能总学这学哪,受制于人,也得找个时间停一停(用砍柴师傅的一句话来说,叫做磨刀不误砍柴工),不断的回顾过去、反思过去、总结过去,形成自己的一套方法论,这样的话,或许能让前路更清晰。

文章目录
  1. 一、什么是SpringBoot?
  2. 二、SpringBoot是怎么诞生的?
  3. 三、职业生涯中我在哪些项目中用到SpringBoot?
  4. 四、我曾写过关于SpringBoot相关的文章有哪些?
  5. 五、SpringBoot常用的注解有哪些?
  6. 六、SpringBoot与微服务
  7. 七、关于SpringBoot工作原理
  8. 八、总结