zoukankan      html  css  js  c++  java
  • 认识Spring

    Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。
    Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。

    为了降低Java开发的复杂性,Spring采取了以下4种关键策略
    基于POJO的轻量级和最小侵入性编程;
    通过依赖注入和面向接口实现松耦合;
    基于切面和惯例进行声明式编程;
    通过切面和模板减少样板式代码。

    Spring框架的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的耦合关系;通过AOP以动态非侵入的方式增强服务。

    模块组成


    https://github.com/spring-projects/spring-framework

    IOC

    是一种思想,关于依赖注入与控制反转的关系:依赖注入则是实现控制反转思想的方法。

    发生了“主从换位”的变化。应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的资源了。
    IoC很好的体现了面向对象设计法则之一—— 好莱坞法则:“别找我们,我们找你”;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。
    传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。

    之前是consumer主动去new,变成consumer向IOC容器去要,然后由IOC容器注入依赖对象。

  • 相关阅读:
    HTML5
    js实现查找字符串中最多的字符的个数
    get和post的区别
    第十七篇 类的特殊成员
    第十八篇 面向对象修饰符
    MariaDB+Keepalived双主高可用配置MySQL-HA
    linux命令详解——crontab
    Java的内存泄漏
    jvm监控工具jconsole进行远程监控配置
    loadrunner执行场景时报Error -27040: Data Format Extension: Init: Internal error问题解决
  • 原文地址:https://www.cnblogs.com/cashew/p/10721887.html
Copyright © 2011-2022 走看看