zoukankan      html  css  js  c++  java
  • Spring的基础应用(概述及优缺点)

    Spring是为解决企业级应用开发的复杂性而产生的,其核心是一个完整的基于控制反转(IoC)的轻量级容器。

    Spring是一个分层的一站式轻量级框架,它以IoC(Inversion of Control 控制反转)和AoP(Aspect Oriented Programming,面向方面编程)为内核。

    在Spring中,认为一切Java类都是资源,而资源都是类的实例对象(Bean),容纳并管理这些Bean的是Spring所提供的IoC容器,所以Spring是一种基于Bean的编程,它深刻地改变着Java开发世界。

    Spring致力于JavaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。在表现层它提供了SpringMVC以及与Struts2框架的整合功能;在业务逻辑层可以管理事务、记录日志等;在持久层可以整合Hibernate、 MyBatis 、JdbcTemplate等技术。

    Spring的优点:

    (1)非侵入式的:Spring框架的API不会在业务逻辑上出现,也就是说业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。

    (2)容器。Spring提供了容器功能,容器可以管理对象的生命周期,以及对象与对象之间的依赖关系。可以写一个配置文件(通常是XML文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动的时候,这些对象就被实例化了,可以直接使用,而且依赖关系也建立好了。

    (3)IoC。控制反转,即依赖关系的转移,如果以前都是依赖于实现,那么现在反转为依赖于抽象,其核心思想就是面向接口编程。

    (4)依赖注入:对象与对象之间依赖关系的实现,包括接口注入、构造注入、属性方法注入。

    (5)AOP:面向方面的编程,将日志、安全、事务管理等服务或功能理解成一个“方面”,以前这些服务通常是直接写在业务逻辑的代码中这有两个缺点:首先是业务逻辑不纯净,其次是这些服务被很多业务逻辑反复使用,不能做到复用。AOP解决了上述问题,可以把这些服务剥离出来形成一个“方面”,可以实现复用;然后将“方面”动态地插入到业务逻辑中,让业务逻辑能够方便地使用“方面”提供的服务。

  • 相关阅读:
    Python学习日记(一)——初识Python
    读《乌合之众》
    用WPF做了几个小游戏
    《HeadFirst设计模式》读后感——对学习设计模式的一些想法
    设计模式C#实现(九)——工厂方法模式和简单工厂
    设计模式C#实现(八)——原型模式
    设计模式C#实现(七)——生成器模式
    设计模式C#实现(六)——单例模式
    《小强升职记》读后感和思维导图
    《魔鬼搭讪学》《魔鬼约会学》读后感
  • 原文地址:https://www.cnblogs.com/kjitboy/p/12049017.html
Copyright © 2011-2022 走看看