1.@SpringBootApplication注释在内部有什么用处?
答:作为Spring引导文档,@SpringBootApplication注释等同于同时使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性。SpringBoot允许开发人员使用单个注释而不是多个注释。但是,Spring提供了松散耦合的特性。我们可以根据项目需要为每个注释使用这个特性。
2.如何在不使用BasePackage过滤器的情况下排除程序包
答:在使用注解@SpringBootApplication时,可以使用排除属性。
3.什么是Spring Actuator?它有什么优势?
答:Actuator为执行器,是一个制造术语,指的是移动或控制某物的机械装置。执行机构可以从一个小的变化中产生大量的运动。Spring Boot提供了许多自动装置特性,帮助开发人员快速开发生产出组件。但是,当考虑调试和如何调试,如果出现问题,总是需要分析日志并挖掘应用程序的数据流,检查问题出在何处。因此,Spring Actuator提供了方便的访问这些类型的途径。它提供了许多特性,例如创建什么样的bean、控制器中的映射、CPU使用情况等。它还可以将自动收集和审计健康状况和指标应用到应用程序中。
它提供了一种非常简单的方法来访问少数生产就绪的REST端点,并从Web获取各种信息。但是通过这些端点,你可以做很多事情来查看端点文档。没有必要担心安全问题;如果存在Spring Security,则默认使用当中内容协商策略保护这些端点。或者,可以在RequestMatcher的帮助下配置自定义的安全性。
4.什么是Spring Initializer?
答:Spring Initializer是一个网络应用程序,它可以快速生成Spring Boot项目,包含快速启动所需的一切。
5.什么是执行器停机?
答:关机是允许程序正常关机的端点。默认情况下,此功能不可用。可以在配置文件中使用management.endpoint.shutdown.enabled=true来启用此选项。但是该方法需谨慎使用。
6.是否可以在Spring Boot中更改嵌入式Tomcat服务器的端口
答:可以,更改端口是可行的。可以使用系统配置文件进行更改端口。使用server.port=xxx进行端口的配置。后续工作将由Rest Spring框架接手。如果提到server.port=0,那么它将自动分配任何可用的端口。
7.可以在SpringBoot Application中禁用默认的Web服务器吗?
答:可以,Spring的主要优势是提供灵活性来构建松散耦合的应用程序。Spring提供了在快速配置中禁用网络服务器的功能,只需要在配置文件中配上spring.main.web-application-type=none即可。
8.Spring Boot有哪些优点?
答:1.快速创建独立运行的spring项目与主流框架集成。
2.使用嵌入式的servlet容器,应用无需打包成war包。
3.starters自动依赖与版本控制。
4.大量的自动配置,简化开发,也可以修改默认值。
5.准生产环境的运行应用监控。
6.与云计算的天然集成。
9.Spring Boot 、SpringMVC和Spring有什么区别?
答:1.Spring最重要的特征是依赖注入。所有SpringModules不是依赖注入就是IOC控制反转。
当我们恰当的使用DI或者IOC的时候,我们可以开发松耦合的应用。松耦合应用的单元测试可以很容易的进行。
2.Spring MVC
SpringMVC提供了一种分离式的方法来开发Web应用。通过运用像DispatchServlet,ModelAndView和ViewResolver等一些简单的概念,使得开发Web应用将会变得非常简单。
3.SpringBoot
Spring和SpringMVC的问题在于需要配置大量的参数。
SpringBoot通过一个自动配置和启动的项来解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot提供了一些非功能性特征。
10.为什么我们需要spring-boot-maven-plugin?
答:spring-boot-maven-plugin提供了一些像jar一样打包或者运行应用程序的命令。
1.spring-boot:run运行的SpringBoot应用程序。
2.spring-boot:repackage重新打包你的jar包或者是war包使其可执行。
3.spring-boot:start和spring-boot:stop管理Spring Boot应用程序的生命周期。
4.spring-boot:build-info:生成执行器可以使用的构造信息。