SpringBoot面试题

1、SpringBoot的运行机制

从@SpringBootApplication开始,进来之后包含三个注解,第一个注解是@SpringBootConfiguration,其实也就是spring中的@Configuration,这个注解表明这个类是配置类,第二个注解是@ComponentScan,这个注解也是spring里面的,他用来将指定包下面需要装配的组件注册到容器里面,第三个注解是@EnableAutoConfiguration,这个注解是SpringBootA自动配置的核心注解,进入@EnableAutoConfiguration以后,会有两个注解,第一个是@AutoConfigurationPackage,作用是将主配置类所在的包作为自动配置的包进行管理。第二个注解是@Import,导入一个类到容器中,根据meta-info下面的在spring.factories的配置进行导入。

总结:SpringBoot通过根据配置文件自动装配所属依赖的类,再用动态代理的方式,注入到spring容器里面。

2、@Autowired

实现依赖自动注入的功能,可以作用于构造方法,属性,或者方法

  • 默认按照类型去容器中查找
  • 如果找到多个相同类型的组件,再将属性名作为组件的id去容器中查找(比如一个service有多个实现类,注入的时候将具体的实现类注入即可)

3、SpringBoot是怎么加载配置文件的

4、Bean的生命周期

N、servlet的生命周期

  • servlet是单实例多线程的,因此会有并发的问题
  • 第一次访问时,服务器创建servlet并调用init()方法进行初始化,然后调用service
  • 每当请求来到的时候,服务器创建一个线程,并调用servlet方法完成自己的业务逻辑
  • 当servlet被移除和服务器正常关闭的时候,服务器调用servlet的destroy()方法

你可能感兴趣的:(面试题集锦)