目录
- **1 、什么是springboot ?**
- **2 、Springboot 有哪些优点?**
- **3、 如何重新加载Spring Boot上的更改,而无需重新启动服务器?**
- **4、 Spring Boot、Spring MVC 和 Spring 有什么区别?**
- **5 、什么是自动配置?**
- **6 、什么是 Spring Boot Stater ?**
- **7 、能否举一个例子来解释更多 Staters 的内容?**
- **8 、Spring Boot 还提供了其它的哪些 Starter Project Options?**
- **9、创建一个 Spring Boot Project 的最简单的方法是什么?**
- **10、Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?**
- **11、为什么我们需要 spring-boot-maven-plugin?**
- **12、如何使用 SpringBoot 自动重装我的应用程序?**
- **13、Spring Boot中的监视器是什么?**
- **14、什么是YAML?**
- **15、springboot自动配置的原理**
- **16、springboot读取配置文件的方式**
- **17、springboot集成mybatis的过程**
- **18、什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?**
- **19、如何在 Spring Boot 中添加通用的 JS 代码?**
- **20、什么是 Spring Data?**
- **21、什么是 Spring Data REST?**
- **22、path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?**
- **23、当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?**
- **24、我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?**
- **25、如何使用 Spring Boot 生成一个 WAR 文件?**
- **26、如何使用 Spring Boot 部署到不同的服务器?**
- **27、RequestMapping 和 GetMapping 的不同之处在哪里?**
- **28、为什么我们不建议在实际的应用程序中使用 Spring Data Rest?**
- **29、在 Spring Initializer 中,如何改变一个项目的包名字?**
- **30、JPA 和 Hibernate 有哪些区别?**
- **31、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?**
- **32、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?**
- **33、我们如何连接一个像 MySQL 或者Orcale 一样的外部数据库?**
- **34、你能否举一个以 ReadOnly 为事务管理的例子?**
- **35、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?**
- **36、开启 Spring Boot 特性有哪几种方式?**
- **37、Spring Boot 需要独立的容器运行吗?**
- **38、运行 Spring Boot 有哪几种方式?**
- **39、你如何理解 Spring Boot 中的 Starters?**
- **40、Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?**
- **41、SpringBoot 实现热部署有哪几种方式?**
今天跟大家分享下SpringBoot 常见面试题的知识,点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦!>
1 、什么是springboot ?
用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)
创建独立的spring引用程序 main方法运行
嵌入的Tomcat 无需部署war文件
简化maven配置
自动配置spring添加对应功能starter自动化配置
答:spring boot来简化spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用
2 、Springboot 有哪些优点?
-快速创建独立运行的spring项目与主流框架集成
-使用嵌入式的servlet容器,应用无需打包成war包
-starters自动依赖与版本控制
-大量的自动配置,简化开发,也可修改默认值
-准生产环境的运行应用监控
-与云计算的天然集成
3、 如何重新加载Spring Boot上的更改,而无需重新启动服务器?
这可以使用DEV工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。
Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。
开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot在发布它的第一个版本时没有这个功能。
这是开发人员最需要的功能。DevTools模块完全满足开发人员的需求。该模块将在生产环境中被禁用。它还提供H2数据库控制台以更好地测试应用程序。
org.springframework.boot
spring-boot-devtools
true
4、 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 提供了一些非功能性特征。
5 、什么是自动配置?
Spring 和 SpringMVC 的问题在于需要配置大量的参数。
我们能否带来更多的智能?当一个 MVC JAR 添加到应用程序中的时候,我们能否自动配置一些 beans?
Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,Spring Boot 提供了配置应用程序和框架所需要的基本配置。这就是自动配置。
6 、什么是 Spring Boot Stater ?
启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。
例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。
7 、能否举一个例子来解释更多 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 预先打包了这些依赖项。
作为一个开发者,我不需要再担心这些依赖项和它们的兼容版本。
8 、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 服务;
9、创建一个 Spring Boot Project 的最简单的方法是什么?
Spring Initializr是启动 Spring Boot Projects 的一个很好的工具。