公司面试必问的41道 Spring Boot 面试题( 三 )


思考一下在你的虚拟机上部署应用程序需要些什么 。
第一步:安装 Java
第二步:安装 Web 或者是应用程序的服务器(Tomat/Wbesphere/Weblogic 等等)
第三步:部署应用程序 war 包
如果我们想简化这些步骤 , 应该如何做呢?
让我们来思考如何使服务器成为应用程序的一部分?
你只需要一个安装了 Java 的虚拟机 , 就可以直接在上面部署应用程序了 ,
这个想法是嵌入式服务器的起源 。
当我们创建一个可以部署的应用程序的时候 , 我们将会把服务器(例如 , tomcat)嵌入到可部署的服务器中 。
例如 , 对于一个 Spring Boot 应用程序来说 , 你可以生成一个包含 Embedded Tomcat 的应用程序 jar 。 你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了 。
嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如 , tomcat.jar) 。
19 如何在 Spring Boot 中添加通用的 JS 代码?
在源文件夹下 , 创建一个名为 static 的文件夹 。 然后 , 你可以把你的静态的内容放在这里面 。
例如 , myapp.js 的路径是 resources\static\js\myapp.js
你可以参考它在 jsp 中的使用方法:
公司面试必问的41道 Spring Boot 面试题文章插图
错误:HAL browser gives me unauthorized error - Full authenticaition is required to access this resource.
该如何来修复这个错误呢?
公司面试必问的41道 Spring Boot 面试题文章插图
两种方法:
方法 1:关闭安全验证
application.properties
management.security.enabled:FALSE方法二:在日志中搜索密码并传递至请求标头中
20 什么是 Spring Data?
来自://projects.spring.io/spring- data/
Spring Data 的使命是在保证底层数据存储特殊性的前提下 , 为数据访问提供一个熟悉的 , 一致性的 , 基于 Spring 的编程模型 。 这使得使用数据访问技术 , 关系数据库和非关系数据库 , map-reduce 框架以及基于云的数据服务变得很容易 。
为了让它更简单一些 , Spring Data 提供了不受底层数据源限制的 Abstractions 接口 。
下面来举一个例子:
公司面试必问的41道 Spring Boot 面试题文章插图
你可以定义一简单的库 , 用来插入 , 更新 , 删除和检索代办事项 , 而不需要编写大量的代码 。
21 什么是 Spring Data REST?
Spring Data TEST 可以用来发布关于 Spring 数据库的 HATEOAS RESTful 资源 。
下面是一个使用 JPA 的例子:
公司面试必问的41道 Spring Boot 面试题文章插图
不需要写太多代码 , 我们可以发布关于 Spring 数据库的 RESTful API 。
下面展示的是一些关于 TEST 服务器的例子
POST:URL:http://localhost:8080/todosUse Header:Content-Type:Type:application/jsonRequest Content代码如下:
公司面试必问的41道 Spring Boot 面试题文章插图
响应内容:
公司面试必问的41道 Spring Boot 面试题文章插图
响应包含新创建资源的 href 。
22 path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?
公司面试必问的41道 Spring Boot 面试题文章插图
path- 这个资源要导出的路径段 。
collectionResourceRel- 生成指向集合资源的链接时使用的 rel 值 。 在生成 HATEOAS 链接时使用 。
23 当 Spring Boot 应用程序作为 Java 应用程序运行时 , 后台会发生什么?
如果你使用 Eclipse IDE , Eclipse maven 插件确保依赖项或者类文件的改变一经添加 , 就会被编译并在目标文件中准备好!在这之后 , 就和其它的 Java 应用程序一样了 。
当你启动 java 应用程序的时候 , spring boot 自动配置文件就会魔法般的启用了 。
当 Spring Boot 应用程序检测到你正在开发一个 web 应用程序的时候 , 它就会启动 tomcat 。
24 我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
在 spring-boot-starter-web 移除现有的依赖项 , 并把下面这些添加进去 。
公司面试必问的41道 Spring Boot 面试题文章插图
25 如何使用 Spring Boot 生成一个 WAR 文件?
推荐阅读:
下面有 spring 说明文档直接的链接地址:
#build-tool-plugins-maven-packaging26 如何使用 Spring Boot 部署到不同的服务器?
你需要做下面两个步骤:
在一个项目中生成一个 war 文件 。