• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

01-如何理解 Spring Boot技术?

互联网 diligentman 7天前 9次浏览

Spring Boot 背景分析

JAVAEE应用体系中繁重的配置、低下的开发效率、高难度的三方集成,复杂的部署流程等等一直被开发人员所诟病。即使是使用Spring这样的轻量级的资源整合框架,在实现其相对比较多的资源整合时,依旧需要大量的手动依赖管理,复杂的XML配置(还经常没有提示)。还有就是现在的软件生态应用也已经形成一定的规模,系统架构正在从单体架构,分布式架构,跨越到微服务架构。随着整个架构体系的变化,企业对技术的要求也在变化,现在的企业更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级的运维。由此由此spring boot诞生。

Spring Boot 要解决什么问题

Spring Boot是由Pivotal团队提供的全新的Java软件开发框架(很多人现在把它理解为一个脚手架),其设计目的是用来简化Spring项目的初始搭建以及开发过程。该框架使用了特定的注解方式来进行配置,从而使开发人员不再需要大量的xml配置。不再需要大量的手动依赖管理。Spring Boot基于快速构建理念,通过约定大于配置,开箱即用的方式,希望能够在蓬勃发展的快速应用开发领域成为其领导者。

Spring Boot 有哪些核心的关键特性

  • 起步依赖(Starter Dependency)。
  • 自动配置(Auto Configuration)。
  • 健康检查(Actator)-监控。
  • 嵌入式服务(Tomcat,Jetty)。

Spring Boot 的个人理解及面试资料查找


springboot是用来整合框架的

01-如何理解 Spring Boot技术?

1.Spring Boot、Spring MVC 和 Spring 有什么区别?

==========================================

SpringFramework 最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。

当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。

SpringMVC

Spring MVC 提供了一种分离式的方法来开发 Web 应用。通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。

SpringBoot

Spring 和 SpringMVC 的问题在于需要配置大量的参数。
Spring Boot 通过一个自动配置和启动的项来目解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特征。

2.什么是自动配置?

我们能否带来更多的智能?当一个 MVC JAR 添加到应用程序中的时候,我们能否自动配置一些 beans?
Spring 和 SpringMVC 的问题在于需要配置大量的参数。

Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,Spring Boot 提供了配置应用程序和框架所需要的基本配置。这就是自动配置。

3.什么是 Spring Boot Stater ?

启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。

例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。

4.Spring Boot 还提供了其它的哪些 Starter Project Options?

Spring Boot 也提供了其它的启动器项目包括,包括用于开发特定类型应用程序的典型依赖项。
spring-boot-starter-web-services – SOAP Web Services

spring-boot-starter-web – Web 和 RESTful 应用程序

spring-boot-starter-test – 单元测试和集成测试

spring-boot-starter-jdbc – 传统的 JDBC

spring-boot-starter-hateoas – 为服务添加 HATEOAS 功能

spring-boot-starter-security – 使用 SpringSecurity 进行身份验证和授权

spring-boot-starter-data-jpa – 带有 Hibeernate 的 Spring Data JPA

spring-boot-starter-data-rest – 使用 Spring Data REST 公布简单的 REST 服务

5.Spring 是如何快速创建产品就绪应用程序的?

Spring Boot 致力于快速产品就绪应用程序。为此,它提供了一些譬如高速缓存,日志记录,监控和嵌入式服务器等开箱即用的非功能性特征。

spring-boot-starter-actuator – 使用一些如监控和跟踪应用的高级功能

spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat – 选择您的特定嵌入式 Servlet 容器

spring-boot-starter-logging – 使用 logback 进行日志记录

spring-boot-starter-cache – 启用 Spring Framework 的缓存支持

6.Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?

不是的。

Spring Initiatlizr 让创建 Spring Boot 项目变的很容易,但是,你也可以通过设置一个 maven 项目并添加正确的依赖项来开始一个项目。

在我们的 Spring 课程中,我们使用两种方法来创建项目。

第一种方法是 start.spring.io 。

另外一种方法是在项目的标题为“Basic Web Application”处进行手动设置。

手动设置一个 maven 项目

这里有几个重要的步骤:

  • 在 Eclipse 中,使用文件 – 新建 Maven 项目来创建一个新项目
  • 添加依赖项。
  • 添加 maven 插件。
  • 添加 Spring Boot 应用程序类。

到这里,准备工作已经做好!

7.当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?

如果你使用 Eclipse IDE,Eclipse maven 插件确保依赖项或者类文件的改变一经添加,就会被编译并在目标文件中准备好!在这之后,就和其它的 Java 应用程序一样了。

当你启动 java 应用程序的时候,spring boot 自动配置文件就会魔法般的启用了。

  • 当 Spring Boot 应用程序检测到你正在开发一个 web 应用程序的时候,它就会启动 tomcat。

喜欢 (0)