Spring Boot(一) 简介


1.前言        

      Spring Boot的大名儿从2016年开始突然就变的燥热起来,纵然有很多技术分享会的参加,但是对Spring Boot还是一知半解,偶然的机会接触到Spring Boot再加上对Spring学习的深入,开始对Spring Boot有了学习的兴趣。揭一揭Spring Boot神秘的面纱。


       看了好多博客文章,对Spring boot描述的是天花乱坠而且不一而同,我想用简单点的话语来介绍Spring boot ,最好一句话就能听懂。听不懂就呵呵了。


2.Spring boot 


     Spring Boot从某种意义上来说就是Spring。没错,Spring Boot的工作其实是替你进行一些Spring的配置工作。Spring是一个替代EJB这个重量级框架的轻量级框架,但是从Spring的一些bean的配置工作来看,它却是一个重量级的配置,其中有很多都是模板配置或者重复配置,甚至存在一些引用库冲突或依赖项寻址的问题。那么能不能把这些所有进行Spring开发所具有复用性的配置和问题拿出来呢?


      是的,Spring Boot所做的一切都只是在帮助Spring瘦身,它并没有扩展Spring的任何功能,它和Spring 是互为替代的关系。对于Spring开发过程中的共性问题:依赖项的引入、maven仓库的版本和兼容问题、配置文件的重复性,Spring boot 提供了一套成体系的仓库,可以说你的所有共性配置和Spring开发应用具备的特性都不需要你创建了,Spring Boot会自动为你引入以及设置。


       对比一下,用Spring开发一个简单的Hello World Web应用程序。

            

        传统Spring开发方式:

 

         1. 一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,起码要有SpringMVC和Servlet API这些依赖。 

         2.一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的前端控制器DispatcherServlet。

         3.一个启用了Spring MVC的Spring配置。

         4.一个控制器类,以“Hello World”响应HTTP请求。

         5.一个用于部署应用程序的Web应用服务器,比如Tomcat。


        基于Spring boot的开发:


        1.编写基于Groovy的Spring应用程序代码:

 @RestController 
 class HelloController{ 
  @RequestMapping("/")
  defhello() {     
  return "HelloWorld" 
  } 
}


       在装好的Spring boot命令行界面运用HelloController:

            

 $ spring run HelloController.groovy 

      

       如此,完成。立竿见影!没有配置文件,没有服务器,简单!唯一区别的是使用了Groovy语言来代替了java语言,但是Spring boot 并不强制要求是用Groovy,同样可以使用java语言。


3.Spring 大致分为四个方面


   自动配置:针对很多Spring应用程序常见的应用功能,Spring boot能自动提供相关配置。

                  Springboot 为一些常用的模板配置进行了自动化的配置和嵌入,不再需要手动编写;
   起步依赖:告诉Spring boot 需要什么功能,它就能引入需要的库;                            

                  减少依赖数量:

                  工程(web core ear)需要的一些依赖的jar可以通过再对应的工程(Web)中配置类似                                    org.springframework.boot:spring-boot-starter-web的一个依赖,它会根据依赖传递将web需要                   的其他依赖引入项目中。此外,对于工程可能还需要jpa依赖、安全依赖等需,都可以引入,不用人为                   考虑。


    命令行界面:这是Spirng boot 的可选特性,借此你知需要写代码就能完成完整的应用程序,无需传统项目构                          建。
 命令行界面就是Spring boot CLI,CLI可以知道你的类来自那个依赖包以及放到那个                                Classpath中。不再需要import这些引入的包的配置;

         
     Actuator:让你能够深入运行中Spring boot 应用程序,一探究竟。

                   提供在运行时检测应用程序内部情况的能力,可以使用Shell进行查看。包括:

                   Spring应用程序上下文里配置的Bean

                   Spring Boot的自动配置做的决策

                   应用程序取到的环境变量、系统属性、配置属性和命令行参数

                   应用程序里线程的当前状态

                   应用程序近处理过的HTTP请求的追踪情况

                   各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值