记得第一次学校spring还是10年学校里面看视频学校的,不过当时算是对spring有一个大概的认识吧。刚好前任公司用了Spring MVC 就买了本spring实战,现在新公司用到了SSI框架,就接着学习Spring吧,为了抵挡文档资料先准备下Spring框架的。

好了言归正传。。。

        Spring是一个开源框架,最早由Rod Johnson创建。是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。Spring所有的理念都是由“简化JAVA开发”而生。

        为了降低Java开发的复杂性,Spring采取了一下4个策略:

1、基于POJO的轻量级和最小侵入性编程

2、通过依赖注入和面向接口实现松耦合

3、基于切面和惯例进行声明试编程

4、通过切面和模板减少样板试代码


Spring所做的每件事情都可以追溯到上面的一条或多条核心策略,我们先从基于POJO的最小侵入性编程开始。

一、POJO的超能力

        Spring竭力避免因为自己的API而弄乱开发者的代码。所以Spring不会强迫你实现Spring规范的接口or继承Spring规范的类,最坏的场景莫过于是你使用了Spring的注解,但它依然是POJO(而且你可以用JAVA API中的注解来代替Spring框架的注解)。如下:

package com.klov.hi.controller;

/**
 * @author klov
 *
 */
public class HiControllerBean {
    public String sayHi(String name){
        return "Hi "+name ;
    }
}

       HiControllerBean没有实现、继承或导入任何Spring API相关的东西,只是一个简单的JAVA对象。

       尽管形式简单,但是POJO一样具有超能力。这种超能力就是Spring通过依赖注入来赋予它的。

二、依赖注入

       任何一个有实际意义的应用都是由两个或者更多个类组成,这些类相互之间进行协作来完成特定的业务逻辑。








Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐