七叶笔记 » java编程 » 2020全新Java面试题——Spring Boot/Spring Cloud(一)

2020全新Java面试题——Spring Boot/Spring Cloud(一)

一、什么是 spring boot?

(推荐教程:java面试题)

在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建<bean>,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、常量数据等。

SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

二、为什么要用 spring boot?

  • Spring Boot使编码变简单

  • Spring Boot使配置变简单

  • Spring Boot使部署变简单

  • Spring Boot使监控变简单

  • Spring的不足

三、spring boot 核心配置文件是什么?

Spring Boot提供了两种常用的配置文件:

  • properties文件

  • yml文件

四、spring boot 配置文件有哪几种类型?它们有什么区别?

Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件。相对于properties文件而言,yml文件更年轻,也有很多的坑。yml通过空格来确定层级关系,使配置文件结构跟清晰,但也会因为微不足道的空格而破坏了层级关系。

五、spring boot 有哪些方式可以实现热部署?

SpringBoot热部署实现有两种方式:

1、使用spring loaded

在项目中添加如下代码:

<build>        <plugins>            <plugin>                <!-- springBoot编译插件-->                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <dependencies>                    <!-- spring热部署 -->                    <!-- 该依赖在此处下载不下来,可以放置在build标签外部下载完成后再粘贴进plugin中 -->                    <dependency>                        <groupId>org.springframework</groupId>                        <artifactId>springloaded</artifactId>                        <version>1.2.6.RELEASE</version>                    </dependency>                </dependencies>            </plugin>        </plugins>    </build>

添加完毕后需要使用mvn指令运行:

首先找到IDEA中的Edit configurations ,然后进行如下操作:(点击左上角的"+",然后选择maven将出现右侧面板,在红色划线部位输入如图所示指令,你可以为该指令命名(此处命名为MvnSpringBootRun))

37cf2a3d35f1e188bc6dad04989cf8f.png

点击保存将会在IDEA项目运行部位出现,点击绿色箭头运行即可

6cbccd11a88fd59fdd4ad0ecf020d13.png

2、使用spring-boot-devtools

在项目的pom文件中添加依赖:

 <!--热部署jar--> <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-devtools</artifactId> </dependency>

然后:使用 shift+ctrl+alt+"/" (IDEA中的快捷键) 选择"Registry" 然后勾选 compiler.automake.allow.when.app.running

相关文章