springboot面试大全

springboot面试大全https://blog.csdn.net/Kevin_Gu6/article/details/885474241SpringBoot有哪些优点?起步依赖自动配置应用监控2springboot的核心配置文件,以及加载顺序?bootstrap(.properties/.yml)用来加载系统相关的配置application(.properties/.yml)用来…

大家好,又见面了,我是你们的朋友全栈君。

https://blog.csdn.net/Kevin_Gu6/article/details/88547424

1 Spring Boot 有哪些优点?
起步依赖 自动配置 应用监控

2 springboot的核心配置文件,以及加载顺序?
bootstrap (.properties/ .yml) 用来加载系统相关的配置
application (.properties/ .yml) 用来加载应用相关的配置

bootstrap的加载优先级高于 application

3 开启springboot的两种方式?
1)继承spring-boot-starter-parent项目

<parent>  
<groupId>org.springframework.boot</groupId>   
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>

2)导入spring-boot-dependencies项目依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.6.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    <dependencies>
</dependencyManagement>

parent方式只能单继承, 使用dependencyManagement导入的方式可以实现多继承。

4 springboot需要独立的容器运行吗?
不需要,内置了Tomcat等容器。

5 运行springboot有哪几种方式
1)使用java -jar命令直接运行jar文件
2)打成war包放到容器中运行
3)idea中直接执行main方法运行

6 springboot启动的时候如何运行一些特定的代码?
可以实现ApplicationRunner CommandLineRunner, 这两个接口都提供了run方法

ApplicationRunner: 获取应用启动时的参数
CommandLineRunner:启动获取命令行参数

7 springboot有几种读取配置的方式?
1)@Value
直接使用在属性上,如下:

@Value("${ 
   info.address}")
private String address;

2)@ConfigurationProperties
适用于一类属性设置到某个实体类中,如下:

@Component
@ConfigurationProperties(prefix="info")
@Data
public class InfoConfig{ 
   
private String address;
private String company;
}

8 springboot实现热部署的方式?
使用devtools依赖,并在idea开发工具中开启 auto compile

9 springboot如何定义多套不同环境配置
基于properties文件类型

你可以另外建立3个环境下的配置文件:

applcation.properties

application-dev.properties
application-test.properties
application-prod.properties

然后在applcation.properties文件中指定当前的环境spring.profiles.active=test,这时候读取的就是application-test.properties文件。

10 javabean什么时候创建的?
在执行refreshContext方法时创建的, @SpringBootApplication只是扫描到这些bean,还没有完成实例化,在refreshContext中
通过反射机制实例化,设置属性。

11 springboot使用的是单例吗?多例怎么设置?
是的, 使用单例在初始的时候统一创建,不用每次都创建,自然是更快。
多例的设置,通过注解@Scope(“prototype”)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137559.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • excel VLOOKUP函数的用法

    excel VLOOKUP函数的用法

    2021年12月8日
    99
  • Java线程池详解「建议收藏」

    Java线程池详解「建议收藏」文章目录简介什么是线程池银行营业厅案例执行流程创建方式所有创建方式通过ThreadPoolExecutor创建简介什么是线程池线程池(ThreadPool)是一种基于池化思想管理和使用线程的机制。它是将多个线程预先存储在一个“池子”内,当有任务出现时可以避免重新创建和销毁线程所带来性能开销,只需要从“池子”内取出相应的线程执行对应的任务即可。常见的运用池化思想的有:内存池、数据库连接池。使用线程的优点如下:提高线程的利用率提高程序的相应速度便于统一管理线程对象银行营业厅案例假设银行正常可

    2022年7月9日
    21
  • windows2003 dns 414错误「建议收藏」

    windows2003 dns 414错误「建议收藏」原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/121697       因为原来在Linux下实现过域根dns.所以朋友也想做域名用自己的dns服务器的时候肯定是一马当先的帮着做了。操作系统这回用的是2003。用windows配置服务就一个字:“简单”。

    2022年6月11日
    54
  • ps去除水印的六种方法_PS去水印方法

    ps去除水印的六种方法_PS去水印方法方法一:使用选框工具勾选水印部分:按住Shift+f5选择内容识别:然后ctrl+d取消选择,水印就去掉了PS:其实这个方法有个快捷办法,直接使用选框工具选中之后,按Delete就可以弹出

    2022年8月2日
    10
  • imx8主频_x5660处理器怎么样

    imx8主频_x5660处理器怎么样NXPi.MX系列应用处理器是基于32和64位ARM技术,提供多核解决方案,适用于多媒体和显示应用,具有高性能和低功耗、可扩展、安全可靠等特点。其成员有i.MX28系列、i.MX6系列、i.MX7系列、i.MX8系列、i.MXRT系列。这篇文章主要介绍i.MX8系列。i.MX8系列应用处理器根据不同配置有IMX8I、MX8M、IMX8Mini、IMX8MNano、IMX8X…

    2022年10月21日
    2
  • switch 中 break 和 continue 的区别[通俗易懂]

    switch 中 break 和 continue 的区别[通俗易懂]1、break用来退出switch,continue本身是不能用在switch里的,他必须结合循环来用,表示跳过本次循环2、switch的case语句最后如果没有加break/continue,则程序会一直往后执行,可以借鉴goto跳转到位置,其实switch本身可以看作某种形式的跳转,而C语言中本身是不执行:的那条语句的,例如,如果程序中出现一条语句wtch…

    2022年6月2日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号