• Spring 面试总结


    1.spring bean 的生命周期

    1. spring 容器根据配置中bean的定义实例化bean
    2. 根据依赖注入填充属性
    3. 如果bean 实现了BeanNameAware 接口,工厂通过bean id调用 setBeanName()
    4. 如果bean 实现了BeanFactoryAware,则通过自身实例调用setFactoryBean()
    5. 如果存在与bean 关联的BeanPostProcessers,则调用preProcessBeforeInitialization()方法
    6. init 初始化bean
    7. 调用postProcessAfterInitialization()
    8. 最好调用destroy() 销毁bean


     2.BeanFactory 与 ApplicationContext 

    BeanFactory 是spring 最底层的接口,只提供最简单的功能,创建bean 与获取bean, 使用beanFactory 的时候,初始化不会实例化bean ,只有获取bean 实例的时候才会实例化

    ApplicationContext 也叫做应用上下文,继承 BeanFactory,相比提供了更多的功能。默认的情况下启动就会加载所有的bean ,可以通过配置实现懒加载


     3.Spring Ioc 与 Aop

    Ioc  控制反转,就是由spring 容器控制对象的生命周期和对象之间的关系。通常一个业务逻辑需要多个对象协作完成,通过 new Object () 创建使得代码有比较强的耦合

    而ioc使得对象之间的依赖和创建由spring 完成,当需要某个对象时,由spring 动态的创建,代码只需要关注逻辑即可

    aop 面向切面编程,在oop 的编程中,对于权限认证、日志、事物等业务逻辑基本都需要的功能,会造成大量重复的代码,不利于重用。aop 的作用是分离系统中的关注点,

    进一步使得模块间的耦合度降低,提高重用性


     4.四种注入注解

    @Autowire  自动装配,根据类型 byType

    @Resource  根据name 注入,byName

    @Quilifier 按照类型注入的基础上再按名称注入

    @Value  注入普通常量


     5.Spring Aop

    1. 连接点 :所有可以被增强的方法称为连接点
    2. 切入点 : 实际被增强的方法
    3. 通知、增强
      • 前置通知
      • 后置通知
      • 异常通知
      • 返回通知
      • 环绕通知
    4. 切面:把增强应用到方法的过程

  • 相关阅读:
    Find the most frequent element in all intervals
    1365. How Many Numbers Are Smaller Than the Current Number
    CodeForces 1316C
    CodeForces-1305D Kuroni and the Celebration【树】
    CodeForces-1305C Kuroni and Impossible Calculation【思维】
    CodeForces 1254D Tree Queries【树链剖分+树状数组】
    Scout YYF I POJ
    CodeForces-1320C World of Darkraft: Battle for Azathoth 【权值线段树+思维】
    主席树总结
    Codeforces 1320A Journey Planning【思维转换】
  • 原文地址:https://www.cnblogs.com/baizhuang/p/13191560.html
Copyright © 2020-2023  润新知