springBoot、springMVC和spring有什么区别
spring
- spring最重要的特征是依赖注入。所有SpringModules不是依赖注入就是IOC控制反转
- 当我们恰当的使用DI或者是IOC的时候,我们可以开发松耦合应用.松耦合应用的单元测试可以很容易的进行
springMVC
- springMVC提供了一种分离式的方法来开发web应用.通过运用像DispatcherServelet,MoudlAndView 和 ViewResolver等一些简单的概念,开发web应用将会变得非常简单。
springBoot
- Spring和SpringMVC的问题在于需要配置大量的参数。
- SpringBoot通过一个自动装配和启动的项目解决这个问题。为了更快的构建产品就绪应用程序,SpringBoot提供了一些非功能性特征
什么是自动配置
- spring和springmvc的问题在于需要配置大量的参数。
- spring查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,springboot提供了配置应用程序和框架所需要的基本配置,这就是自动配置。
什么是spring boot stater
- 启动器是一套方便的依赖没有描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的spring和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载
- 如果你想使用Sring和JPA访问数据库,只需要你的项目包含spring-boot-starter-data-jpa依赖项,就可以完美进行
springboot还提供了其他哪些Starter Project Options
- springboot也提供了其他的启动项目,包括用于开发特定类型应用程序的典型依赖项
- 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 服务
springboot是如何快速创建产品就绪应用程序的
- springboot致力于快速产品就绪应用程序。
- springboot提供了一些高速缓存、日志记录、监控和嵌入式服务器等开箱即用的非功能性特征
- 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 的缓存支持
SpringBoot2.0所需要的最低java版本是什么
- Spring Boot 2.0 需要 Java8 或者更新的版本。Java6 和 Java7 已经不再支持。
为什么需要spring-boot-maven-plugin
- spring-boot-maven-plugin 提供了一些像jar一样打包或者运行应用程序的命令
- spring-boot:run 运行你的 SpringBoot应用程序。
- spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行
- spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期(也可以说是为了集成测试)。
- spring-boot:build-info 生成执行器可以使用的构造信息。
什么是嵌入式服务器? 我们为什么要用嵌入式服务器
- 嵌入式服务器就是使服务器成为应用程序的一部分
- 当我们创建一个可以部署的程序的时候,我们将会把服务器嵌入到可部署的服务器中
- 例如,对于一个 Spring Boot 应用程序来说,你可以生成一个包含 Embedded Tomcat 的应用程序 jar。你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了。
- 嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如:tomcat。jar)
什么是SpringData
- springData的使命是保证底层数据存储特殊性的前提下,为访问提供一个熟悉的,一致性的,基于Spring的编程模型
- 这样可以让使用数据库访问技术关系数据库和非关系数据库,map-reduce 框架以及基于云的数据服务变得容易、简单。
- 为了让他更简单,SpringData提供了不受底层数据源限制的Abstractions 接口,减少代码量的书写。
什么是SpringData REST
-
Spring Data TEST可以用来发布关于Spring数据库的hateoas restful 资源
-
Rest是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。
-
它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
-
满足这些约束条件和原则的应用程序或设计就是 RESTful。
如何使用SpringBoot部署到不同的服务器
- 在项目中生成一个war文件
- 将它部署到你想要部署的服务器上
RequestMapping和Getmapping的不同之处
- RequestMapping具有类属性,可以进行GET、POST、PUT或者其他的注释中具有的请求方法
- GetMapping是Get请求方法中的一个特例。它只是RequestMapping的一个延伸,目的是为了提高清晰度
JPA和hibernate有哪些区别
- JPA是一个规范或者接口
- Hibernate是JPA的一个实现
- 当我们使用JPA的时候,我们使用javax.persistence包中的注释和接口时,不需要使用hibernate的导入包
- 一般建议使用JPA注释,因为我们没有将其绑定到hibernate作为实现