SpringBoot 1.1 基础

1.1 SpringBoot 基础

1.1.1 Spring框架介绍

Spring是一个开源Java轻量级框架。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,也为 Java应用提高了简单性、可测试性和松耦合性等。Spring已经集成了20多个模块,这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP、工具、消息和测试等模块。Spring 框架如下图所示:
在这里插入图片描述

  • (1) Core Container 核心容器
    核心部分分为4大块,spring-core, spring-beans, spring-context, spring-expression. 其中core和bean是整个框架的核心,提供了基础的DI(依赖注入)和IOC(控制反转)功能。 Context建立在core和beans模块之上,提供一种类似JNDI且以框架的方式来操作对象的方式。Context模块从beans模块继承它的功能同时增加了国际化支持,如资源绑定等,同时,Context模块也支持JavaEE功能,如EJB,JMX和基本的远程调用。ApplicationContext接口是context模块的焦点。expression是一种很强大的expression language,支持在运行时查询和操作对象的属性,我们会在后面的文章中举些例子来说明spring expression language的用法。

  • (2) AOP and instrumentation
    Aop模块提供了面向切面编程的实现,和AspectJ集成。

  • (3) Messaging
    Messaging是spring4新增加的模块,包含了一部分主要的基于message的应用的实现。

  • (4) Data Access/Integration
    Data access顾名思义,是spring对数据层提供的支持,是功能比较丰富的模块。提供了包括JDBC,事物,ORM,JMS等一系列实现。

  • (5) Web
    Web模块主要提供面向web的一些实现,例如多文件上传,servlet监听器以及spring mvc方面的支持。

(6) Test
Test模块主要是针对spring的各个模块做各种各样的测试,包括单元测试、集成测试等等。

1.1.2 SpringBoot框架介绍

SpringBoot并非Spring官方的框架,而是由Pivotal 团队(这里就不介绍这个团队了)在Spring上二次开发并开源公布出来的一个比 Spring更为简化的开发的框架。简而言之,SpringBoot就是一个轻量级,简化配置和开发流程的web整合框架。我们在使用SpringBoot时只需要做相应的配置就可以用所有的Spring组件,不需要像SpringMVC那样手动写一堆xml配置。从本质上来说,Spring Boot就是Spring,它简化了很多开发者利用Spring框架进行开发时,都需要进行的配置。那么它到底有什么功能呢?与Spring相比又有什么优势呢? 

1.1.2.1 SpringBoot的核心功能

  • (1) 可独立运行Spring项目
    SpringBoot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
  • (2) 内嵌servlet容器
    SpringBoot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。
  • (3) 提供starter简化Maven配置
    Spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入如图5-1所示的依赖包。
  • (4) 自动装配Spring
    SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
  • (5) 准生产的应用监控
    SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
  • (6) 无代码生产和xml配置  
    SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。

1.1.2.2 SpringBoot的优点

  • 编码更简单
    SpringBoot采用 JavaConfig的方式,对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率。

  • 配置更简单
    SpringBoot提供许多默认配置,同时也支持自定义配置, SpringBoot项目只需一个配置文件:application.properties或者application.yml。不必担心查找配置错误的定位。 在这里插入图片描述

  • 部署更简单
    SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包,然后通过Java -jar xxx.jar来运行(SpringBoot项目的入口是一个main方法,运行该方法即可)。

  • 监控更简单
    SpringBoot提供了actuator包,可以使用它来对应用进行监控。主要提供功能有如下截图

发布了15 篇原创文章 · 获赞 0 · 访问量 154

猜你喜欢

转载自blog.csdn.net/u012474395/article/details/104411285
1.1