Spring 入门

半城伤御伤魂 提交于 2020-03-19 00:12:59

Spring是一个轻量级框架,大大简化了java企业级开发,提供了强大稳定的功能,又没有带来额外的负担,让人们再使用它做每件事的时候都有得体和优雅的感觉。

Spring的两个目的:1)让现有技术更易于使用;   2)是促进良好的编程习惯。

 

一.    Spring IoC

  1.理解”控制反转“

    控制反转也成为依赖注入,是面向对象编程中的一种设计理念,用来降低程序代码之间的耦合度。

    依赖,是再代码中一般指通过局部变量,方法参数,返回值等建立的对于其他对象的调用关系。

   扩展:1.除了ClassPathXmlApplicationContext,ApplicationContext接口还有其它实现类。例如:FileSystemXmlApplicationContext也可以用于加载Spring配置文件。

      2.除了ApplicationContext及其实现类,还可以通过BeanFactory接口及其实现类对Bean组件实施管理。

 

二.   理解”面向切面编程“(AOP)

  1.面向切面编程(AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件, 常见的AOP抽离出来的组件有:日志模块;事务模块;安全模块等.

  2.简单的说就是在不改变源程序的基础上为代码增加新的功能,对代码进行增强处理。它的设计思想来源于代理设计模式。

    基本概念:

      切面(Aspect):一个模块化的横切逻辑(或称横切关注点),可能会横切多个对象。

      连接点(Join Point):程序执行中的某个具体的执行点。

      增强处理(Advice):切面在某个特定连接点上执行的代码逻辑。

      切入点(Pontcut):对连接点的特征进行描述,可以使用正则表达式。增强处理和一个切入点表达式相关联,并在与这个切入点匹配的某个连接点上运行。

      目标对象(Target object):被一个或多个切面增强的对象。

      AOP代理(AOP proxy):由AOP框架所创建的对象,实现执行增强处理方法等功能。

      织入(Weaving):将增强处理连接到应用程序中的类型或对象上的过程。

    示例:

  

 

    AOP的配置如下:

    

    面向切面编程主要关心两个问题:在什么位置,执行什么功能。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!