java面试题
springboot相关面试题
1.什么是springboot
springboot是一个基于spring框架的开源框架。它主要是减少了配置文件,使开发者可以快速的搭建一个可运行的项目。
2.为什么使用springboot
1)springboot简化了配置,使开发人员不需要配置大量的xml配置文件,从而减少了开发时间
2)springboot默认采用tomcat作为嵌入式web容器,可以让程序在独立运行的情况下启动一个web应用
3)springboot通过自动配置的方式,根据依赖的类和jar包,自动配置需要的组件和配置
3.springboot自动配置的原理
@EnableAutoConfiguration是springboot自动装配的核心,起实现原理主要包括以下几个步骤:
1)springboot在启动时,会扫描classpath下的META-INF/spring.factories文件,并解析其中EnableAutoConfiguration的实现类
2)根据EnableAutoConfiguration实现类配置的条件去判断是否加载该类或者什么时候加载
总的来说,就是springboot使用了@EnableAutoConfiguration注解和条件注解实现了对Bean的自动配置
4.springboot的核心注解有哪些
1)@SpringbootApplication
它是一个复合注解,包含了@EnableAutoConfiguration自动装配、@ComponentScan组件扫描、@Configuration表明该类是个配置类
2)其他常用注解
@RestController:用于定义RESTful接口,相当于@Controller和@ResponseBody组合
@RequestMapping:用于处理http请求
@Autowaired:自动注入注解,用于自动装配SpringBean,装配方式是byType
@Resource:自动装配注解,默认装配方式是byName,若byName匹配不到对应的Bean,则使用byType
@Value:属性注入注解,用于注入配置文件中的属性值
5.springboot的配置文件有哪些
application.properties、application.yml、bootstrap.properties、bootstrap.yml
他们加载的优先级不同,bootstrap配置文件的优先级更高,所以可以用于设置一些比较敏感的重要配置信息
6.springboot实现热部署的方式
添加spring-boot-devtools依赖后重启服务即可实现热部署
7.springboot的starter原理
原理就是,当springboot的pom.xml文件添加了xxx-starter-xxx的依赖后,在项目启动后,springboot会去读取spring.factories文件,并根据文件中配置去加载和初始化对应的类到spring容器中,这样等springboot启动完,就可以使用这些Bean了
8.如何集成springboot和MQ、Mysql等
在pom.xml文件中添加对应的starter依赖即可
9.spring、springMVC、springboot的区别
spring是一个java开发框架,它主要用于创建企业级java应用程序,它提供了依赖注入(DI)和面向切面编程(AOP)等功能。
springMVC是spring框架的一个模块,用于创建web应用程序,它使用控制器,视图和模型来实现MVC设计模式。需要配置servlet、DispatcherServlet、Mapping、View等配置
springboot是一个基于spring框架的快速开发应用程序的工具,它使用自动装配来减少开发人员的工作量。