A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

12.springboot常用的starter有哪些?
        spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持
        spring-boot-starter-data-jpa 数据库支持
        spring-boot-starter-data-redis redis数据库支持
        spring-boot-starter-data-solr solr支持
        mybatis-spring-boot-starter 第三方的mybatis集成starter
13.springboot自动配置的原理?
        在spring程序main方法中 添加@SpringBootApplication或者@EnableAutoConfiguration
        会自动去maven中读取每个starter中的spring.factories文件 该文件里配置了所有需要被创建spring容器中的bean
14.springboot读取配置文件的方式?
        springboot默认读取配置文件为application.properties或者是application.yml
15.Spring Boot 需要独立的容器运行吗?
        可以不需要,内置了 Tomcat/ Jetty 等容器。
16.运行 Spring Boot 有哪几种方式?
        1)打包用命令或者者放到容器中运行
        2)用 Maven/ Gradle 插件运行
        3)直接执行 main 方法运行
17.Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
        Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。
        application 配置文件这个容易了解,主要用于 Spring Boot 项目的自动化配置。
        bootstrap 配置文件有以下几个应用场景。
        使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中增加连接到配置中心的配置属性来加载外部配置中心的配置信息;
        少量固定的不能被覆盖的属性;
        少量加密/解密的场景;
18.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
        启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
        @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
        @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
        @ComponentScan:Spring组件扫描
19.为什么我们需要 spring-boot-maven-plugin?
        spring-boot-maven-plugin 提供了一些像 jar 一样打包或者运行应用程序的命令。
        spring-boot:run 运行你的 SpringBooty 应用程序。
        spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行
        spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期(也可以说是为了集成测试)。
        spring-boot:build-info 生成执行器可以使用的构造信息。
20.如何使用Spring Boot实现分页和排序?
        使用Spring Boot实现分页非常简单。使用Spring Data-JPA可以实现将可分页的
        org.springframework.data.domain.Pageable
        传递给存储库方法。
21.什么是Swagger?你用Spring Boot实现了它吗?
        Swagger广泛用于可视化API,使用Swagger UI为前端开发人员提供在线沙箱。Swagger是用于生成RESTful Web服务的可视化表示的工具,
        规范和完整框架实现。它使文档能够以与服务器相同的速度更新。当通过Swagger正确定义时,
        消费者可以使用最少量的实现逻辑来理解远程服务并与其进行交互。因此,Swagger消除了调用服务时的猜测。
22.什么是Spring Profiles?
        Spring Profiles允许用户根据配置文件(dev,test,prod等)来注册bean。因此,当应用程序在开发中运行时,
        只有某些bean可以加载,而在PRODUCTION中,某些其他bean可以加载。假设我们的要求是Swagger文档仅适用于QA环境,
        并且禁用所有其他文档。这可以使用配置文件来完成。Spring Boot使得使用配置文件非常简单。
23.什么是Spring Batch?
        Spring Boot Batch提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,
        作业重新启动,跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业。
        简单以及复杂的大批量批处理作业可以高度可扩展的方式利用框架处理重要大量的信息。
24.什么是FreeMarker模板?
        FreeMarker是一个基于Java的模板引擎,最初专注于使用MVC软件架构进行动态网页生成。使用Freemarker的主要优点是表示层和业务层的完全分离。
        程序员可以处理应用程序代码,而设计人员可以处理html页面设计。最后使用freemarker可以将这些结合起来,给出最终的输出页面。
25.什么是JavaConfig?
        Spring JavaConfig是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaConfig的优点在于:
        面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。
        减少或消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。
        JavaConfig为开发人员提供了一种纯Java方法来配置与XML配置概念相似的Spring容器。
        从技术角度来讲,只使用JavaConfig配置类来配置容器是可行的,但实际上很多人认为将JavaConfig与XML混合匹配是理想的。
        类型安全和重构友好。JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java 5.0对泛型的支持,现在可以按类型而不是按名称检索bean,不需要任何强制转换或基于字符串的查找
26.启动类注解:
        @SpringBootConfiguration:Spring Boot的配置类; 标注在某个类上,表示这是一个Spring Boot的配置类; @Configuration:配置类上来标注这个注解;
        配置类 ----- 配置文件;配置类也是容器中的一个组件;@Component
        @EnableAutoConfiguration:开启自动配置功能;
        以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自
        动配置功能;这样自动配置才能生效;
        Spring Boot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就失效,帮我们进行自动配置工作
27.配置文件的加载顺序?
        由jar包外向jar包内进行寻找;
        优先加载带profile
        6.jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
        7.jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
        再来加载不带profile
        8.jar包外部的application.properties或application.yml(不带spring.profile)配置文件?
        9.jar包内部的application.properties或application.yml(不带spring.profile)配置文件
28.自动配置原理?
        1)、SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration
        2)、@EnableAutoConfiguration 作用:
        将 类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容器中;
        每一个这样的 xxxAutoConfiguration类都是容器中的一个组件,都加入到容器中;用他们来做自动配置;
        3)、每一个自动配置类进行自动配置功能;
        根据当前不同的条件判断,决定这个配置类是否生效?
        一但这个配置类生效;这个配置类就会给容器中添加各种组件;这些组件的属性是从对应的properties类中获取 的,这些类里面的每一个属性又是和配置文件绑定的;
        5)、所有在配置文件中能配置的属性都是在xxxxProperties类中封装者‘;配置文件能配置什么就可以参照某个功 能对应的这个属性类
        怎么用好自动配置,精髓:
        1)、SpringBoot启动会加载大量的自动配置类
        2)、我们看我们需要的功能有没有SpringBoot默认写好的自动配置类;
        3)、我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件有,我们就不需要再来配置了)
        4)、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这 些属性的值;


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马