springboot初步学习

java 分享会

分享人:李宁虎

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

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

从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用

有着非常强的约定大于配置的理念。几乎所有的配置文件都放在properties文件中。你可以同时有好几套配置,在运行时使用参数来区分激活的是具体哪一个配置文件。

2.知识剖析

SpringBoot的设计思想
    1:模块化思想 Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,强调了开发RESTful Web服务的功能并提供了生成可运行jar的能力,这一切都清晰地表明在开发可部署的微服务方面Boot框架是一个强大的工具;

    2:简化配置 不在像Spring一样需要大量的配置,来完成工作;SpringBoot中提供大量的,强大的注解让你工作起来更加快速和方便。

    3:快速构建 通过springboot cli 可以实现在命令行上快速搭建工程;交互式的创建以及运行工程是通过采用Groovy实现。
原理分析
    SpringBoot内嵌应用服务器包括(Tomcat,Jetty,Undertow),这样我们无需以war包的形式部署项目。
    Spring Boot使用一个全局的配置文件application.properties或者application.yml,配置文件放在src/main/resources目录下。properties是我们常见的一种配置文件,Spring Boot不仅支持properties这种类型的配置文件,也支持yaml语言的配置文件

    Tomcat支持多个服务运行,但在SpringBoot中由于内嵌Tomcat所以只有一个Service服务运行;

3.常见问题

繁多的注解

4.解决方案

5.编码实战

让我们来看看这个例子的代码。

6.扩展思考

    产生背景:随着云计算、开源、Docker等为技术界带来革命性的影响,同时,用户使用方式与生活方式都在移动化浪潮的裹挟下发生了巨变;互联网产品需求来的快,变得快,使得我们的产品需要不断的持续创新,不断给用户带来价值;用户的期望交付周期极大缩短了 ,我们需要以更快的方式迭代并持续集成产品,这就要求我们抛弃传统单体应用,以新的开发,架构,运维方式来解决我们的问题.
    微服务:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调,配合为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常基于HTTP的RESTFUL API);每个服务都围绕具体业务进行构建,并且能够被独立地部署到生产环境,类生产环境等,另外应尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其构建。

7.参考文献

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 北京分院 李宁虎