happyfeisky 2014-07-17 22:03
浏览 550
已采纳

spring的运行机制或者运行原理

最近碰到的这个问题,在网上搜了下,基本上的答案要么是说的SpringMVC的,要么说的是IOC跟AOP的概要,有没有准确一点的答案,望大神指点一二

  • 写回答

5条回答 默认 最新

  • leehuat 2014-07-17 23:11
    关注

    内部最核心的就是IOC了,

    动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射

    反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置

    文件来动态的创建对象,和调用对象里的方法的 。

    Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是

    在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过

    配置类达到的。

    Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明

    管理的(Spring根据这些配置 内部通过反射去动态的组装对象)

    要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。

    Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)

    Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了 也就基本上掌握了Spring.

    Spring AOP与IOC
    一、 IoC(Inversion of control): 控制反转

    1、IoC:

    概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系

    核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean

    二、AOP(Aspect-Oriented Programming): 面向方面编程

    1、 代理的两种方式:

    静态代理:

     针对每个具体类分别编写代理类;

     针对一个接口编写一个代理类;

    动态代理:

    针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法