• Spring一些面试知识点


    1.简述什么是IOC?有什么作用?

    IOC:Inverse Of Control (控制反转),控制:指对象的创建、销毁等控制权限 , 反转:指将对象的控制权由程序员在类中手动控制“反转”到交给Spring容器控制
    作用:IOC是一种思想,是为了设计出更加松耦合的程序,即我们需要一个新的对象,我们不再需要自己手动去创建了,而是从spring的IOC容器里获得,对象的创建权交给spring控制

     2.简述什么是AOP?有什么作用?

    AOP:Aspect Oriented Programming (面向切面编程),AOP是OOP(面向对象编程)的延续,AOP是对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间得耦合度降低,提高程序的可重用性和开发效率
    作用:面向对象就是将事务的特性和行为抽象为一个对象,然后可以统一调用;面向切面编程则是将某一个业务逻辑功能抽取出来,然后动态的把这个功能切入到需要的方法或行为中,需要的才切入,这样有利于减少系统的重复代码,降低模板之间的耦合度

    3.说说spring常用的注解都有哪些?有什么作用?

    Component :用在类的实例化Bean
    Controller :用于web层类的实例化Bean
    Service :用于service层类的实例化Bean
    Repository :用于dao层类的实例化Bean
    Autowired :用于字段上根据类型依赖注入
    Qualifier:结合Autowired一起使用,根据名称进行依赖注入
    Resource :相当于Autowired + Qualifier ,按照名称进行注入
    Value:注入普通属性
    Scope :标注Bean的作用范围
    PostConstruct :作用于方法上标注该方法是Bean的初始化方法
    PreDestory :作用于方法上标注该方法是Bean的销毁方法

    4.谈谈spring bean的生命周期

    Bean的生命周期概括起来有四个阶段:1.实例化 2.属性赋值 3.初始化 4.销毁
    1.实例化
    实例化一个Bean
    2.IOC依赖注入
    按照Spring上下文对实例化的Bean进行配置
    3.SetBeanName实现
    如果这个Bean实现了BeanNameAware接口,就会调用它的实现的setBeanName(string)方法,此处传递的是Spring配置文件中Bean的id值
    4.SetBeanFactory实现
    如果这个Bean实现了BeanFactoryAware接口,会调用它实现的SetBeanFacory(BeanFactory)方法,传递的spring工厂自身
    5.setApplicationContext实现
    如果这个Bean实现了ApplicationContextAware接口,会调用它实现的setApplicationContext(ApplicationContext)方法,传递的是Spring的上下文
    6.postProcessBeforeInitialization实现-初始化预处理
    如果这个Bean实现了BeanPostProcessor接口,将会调用它实现的postProcessBeforeInitialization(Object obj , String s)方法。BeanPostProcessor被用作Bean内容修改,并且由于这个是Bean初始化结束的时候调用这个方法,也可以被用于内存或缓存技术
    7.init-method
    如果这个bean在Spring配置文件中配置init-method属性,会自动调用其配置的初始化方法
    8.postProcessAfterInitialization
    如果这个Bean实现了BeanPostProcessor接口,将会调用它的实现的postProcessAfterInitialization(Object obj , String s)方法
    9.Destory过期自动清理
    当Bean不再需要时,如果这个Bean实现了DisposibleBean这个接口,会调用其实现的 。destory()方法
    10.destory-method
    如果这个bean在Spring配置文件中配置了destory-method属性,会自动调用其配置的销毁方法

  • 相关阅读:
    WhatsApp Business 与 Google My Business:它们的运作方式和不同之处
    Web服务器的搭建
    C++中的强制转换
    docker命令大全英文版在线手册
    使用echarts来显示世界地图和全国地图,并且可以下钻层级
    【并发编程四】windows进程通信和Linux进程通信
    yolov5-6.0使用&改进
    关于页面优化
    基于微信小程序的学院通知与文件分享系统app设计与实现-计算机毕业设计源码+LW文档
    金仓数据库KingbaseES客户端应用参考手册--10. sys_config
  • 原文地址:https://blog.csdn.net/chaochaodayizhi/article/details/125548142