1、SpringBoot有哪些优点?
SpringBoot的优点有:
1、 减少开发,测试时间和努力。
2、 使用JavaConfig有助于避免使用XML。
3、 避免大量的Maven导入和各种版本冲突。
4、 提供意见发展方法。
5、 通过提供默认值快速开始开发。
6、 没有单独的Web服务器需要。这意味着你不再需要启动Tomcat,Glassfish或其他任何东西。
7、 需要更少的配置 因为没有web.xml文件。只需添加用@ Configuration注释的类,然后添加用@Bean注释的方法,Spring将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired添加到bean方法中,以使Spring自动装入需要的依赖关系中。
8、 基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring将在(application{environment} .properties)中加载后续的应用程序属性文件。
2、如何使用SpringBoot实现分页和排序?
使用SpringBoot实现分页非常简单。使用Spring Data-JPA可以实现将可分页的
传递给存储库方法。
3、能否举一个例子来解释更多 Staters 的内容?
让我们来思考一个 Stater 的例子 -SpringBoot Stater Web。
如果你想开发一个 web 应用程序或者是公开 REST 服务的应用程序。SpringBoot Start Web 是首选。让我们使用 Spring Initializr 创建一个 SpringBoot Start Web 的快速项目。
依赖项可以被分为:
1、 Spring - core,beans,context,aop
2、 Web MVC - (Spring MVC)
3、 Jackson - for JSON Binding
4、 Validation - Hibernate,Validation API
5、 Enbedded Servlet Container - Tomcat
6、 Logging - logback,slf4j
任何经典的 Web 应用程序都会使用所有这些依赖项。SpringBoot Starter Web 预先打包了这些依赖项。
作为一个开发者,我不需要再担心这些依赖项和它们的兼容版本。
4、如何使用 SpringBoot 自动重装我的应用程序?
使用 SpringBoot 开发工具。
把 SpringBoot 开发工具添加进入你的项目是简单的。
把下面的依赖项添加至你的 SpringBoot Project pom.xml 中
重启应用程序,然后就可以了。
同样的,如果你想自动装载页面,有可以看看 FiveReload
http://www.logicbig.com/tutorials/spring-framework/spring-boot/boot-live-reload/.
在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。
5、创建一个 SpringBoot Project 的最简单的方法是什么?
Spring Initializr是启动 SpringBoot Projects 的一个很好的工具。
我们需要做一下几步:
1、 登录 Spring Initializr,按照以下方式进行选择:
2、 选择 com.in28minutes.SpringBoot 为组
3、 选择 studet-services 为组件
4、 选择下面的依赖项
Web
Actuator
DevTools
5、 点击生 GenerateProject
6、 将项目导入 Eclipse。文件 - 导入 - 现有的 Maven 项目
6、Spring Cache 三种常用的缓存注解和意义?
1、 @Cacheable ,用来声明方法是可缓存,将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法,直接从缓存中取值。
2、 @CachePut,使用 @CachePut 标注的方法在执行前,不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。
3、 @CacheEvict,是用来标注在需要清除缓存元素的方法或类上的,当标记在一个类上时表示其中所有的方法的执行都会触发缓存的清除操作。
7、什么是Spring Actuator?它有什么优势?
这是SpringBoot中最常见的面试问题之一。根据Spring文件:
执行器是一个制造术语,指的是移动或控制某物的机械装置。执行机构可以从一个小的变化中产生大量的运动。
众所周知,SpringBoot提供了许多自动配置特性,帮助开发人员快速开发生产组件。但是,当考虑调试和如何调试,如果出现问题,总是需要分析日志并挖掘应用程序的数据流,检查问题出在何处。因此,Spring Actuator提供了方便的访问这些类型的途径。它提供了许多特性,例如创建了什么样的bean、控制器中的映射、CPU使用情况等等。它还可以将自动收集和审计健康状况和指标应用到应用程序中。
它提供了一种非常简单的方法来访问少数生产就绪的REST端点,并从Web获取各种信息。但是通过使用这些端点,你可以做很多事情来查看端点文档。没有必要担心安全问题;如果存在Spring Security,则默认使用Spring Security的内容协商策略保护这些端点。或者,可以在RequestMatcher的帮助下配置自定义安全性。
8、什么是 Spring Profiles?
Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。因此,当应用程序在开发中运行时,只有某些 bean 可以加载,而在 PRODUCTION中,某些其他 bean 可以加载。假设我们的要求是 Swagger 文档仅适用于 QA 环境,并且禁用所有其他文档。这可以使用配置文件来完成。SpringBoot 使得使用配置文件非常简单。
9、如何使用 SpringBoot 部署到不同的服务器?
你需要做下面两个步骤:
在一个项目中生成一个 war 文件。
将它部署到你最喜欢的服务器(websphere 或者 Weblogic 或者 Tomcat and so on)。
**第一步:**这本入门指南应该有所帮助:
https://spring.io/guides/gs/convert-jar-to-war/
**第二步:**取决于你的服务器。
10、如何重新加载SpringBoot上的更改,而无需重新启动服务器?
这可以使用DEV工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。
SpringBoot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。
开发人员可以重新加载SpringBoot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。SpringBoot在发布它的第一个版本时没有这个功能。
这是开发人员最需要的功能。DevTools模块完全满足开发人员的需求。该模块将在生产环境中被禁用。它还提供H2数据库控制台以更好地测试应用程序。