zoukankan      html  css  js  c++  java
  • 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. 切面:把增强应用到方法的过程

  • 相关阅读:
    poj 1579(动态规划初探之记忆化搜索)
    hdu 1133(卡特兰数变形)
    CodeForces 625A Guest From the Past
    CodeForces 625D Finals in arithmetic
    CDOJ 1268 Open the lightings
    HDU 4008 Parent and son
    HDU 4044 GeoDefense
    HDU 4169 UVALive 5741 Wealthy Family
    HDU 3452 Bonsai
    HDU 3586 Information Disturbing
  • 原文地址:https://www.cnblogs.com/baizhuang/p/13191560.html
Copyright © 2011-2022 走看看