Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 本文精选了三十五个常见的 Spring Boot 知识点, 祝你一臂之力!
问题一
Spring Boot,Spring MVC 和 Spring 有什么区别?
1,Spring
Spring 最重要的特征是依赖注入. 所有 SpringModules 不是依赖注入就是 IoC 控制反转.
当我们恰当的使用 DI 或者是 IoC 的时候, 我们可以开发松耦合应用. 松耦合应用的单元测试可以很容易的进行.
2,Spring MVC
Spring MVC 提供了一种分离式的方法来开发 web 应用. 通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念, 开发 Web 应用将会变的非常简单.
3,SpringBoot
Spring 和 SpringMVC 的问题在于需要配置大量的参数.
Spring Boot 通过一个自动配置和启动的项来目解决这个问题. 为了更快的构建产品就绪应用程序, Spring Boot 提供了一些非功能性特征.
问题二
什么是自动配置?
Spring 和 SpringMVC 的问题在于需要配置大量的参数.
我们能否带来更多的智能? 当一个 MVC JAR 添加到应用程序中的时候, 我们能否自动配置一些 beans?
Spring 查看 (CLASSPATH 上可用的框架) 已存在的应用程序的配置. 在此基础上, Spring Boot 提供了配置应用程序和框架所需要的基本配置. 这就是自动配置.
问题三
什么是 Spring Boot Stater ?
启动器是一套方便的依赖没描述符, 它可以放在自己的程序中. 你可以一站式的获取你所需要的 Spring 和相关技术, 而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载.
例如, 如果你想使用 Sping 和 JPA 访问数据库, 只需要你的项目包含 spring-boot-starter-data-jpa 依赖项, 你就可以完美进行.
问题四
你能否举一个例子来解释更多 Staters 的内容?
让我们来思考一个 Stater 的例子 -Spring Boot Stater Web.
如果你想开发一个 Web 应用程序或者是公开 REST 服务的应用程序. Spring Boot Start Web 是首选. 让我们使用 Spring Initializr 创建一个 Spring Boot Start Web 的快速项目.
Spring Boot Start Web 的依赖项
下面的截图是添加进我们应用程序的不同的依赖项
依赖项可以被分为:
- Spring - core,beans,context,aop
- Web MVC - (Spring MVC)
- Jackson - for JSON Binding
- Validation - Hibernate,Validation API
- Enbedded Servlet Container - Tomcat
- Logging - logback,slf4j
任何经典的 Web 应用程序都会使用所有这些依赖项. Spring Boot Starter Web 预先打包了这些依赖项.
作为一个开发者, 我不需要再担心这些依赖项和它们的兼容版本.
问题五
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 服务;
问题六
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 的缓存支持
###Spring2 和 Spring5 所需要的最低 Java 版本是什么?
Spring Boot 2.0 需要 Java8 或者更新的版本. Java6 和 Java7 已经不再支持.
- Web
- Actuator
- DevTools
- application.properties
- management.security.enabled:FALSE
- POST:
- URL:http://localhost:8080/todos
- Use Header:Content-Type:Type:application/JSON
- Request Content
- # Name of the datasource.
- spring.datasource.name=testdb
- basic.value: true
- basic.message: Dynamic Message
- basic.number: 100
- Dev
- QA
- Stage
- Production
- application.properties
- basic.value= true
- basic.message= Dynamic Message
- basic.number= 100
- application-dev.properties
- basic.message: Dynamic Message in DEV
来源: http://developer.51cto.com/art/201905/596466.htm