我:Spring现在好像挺流行
路人甲:恩恩!我开发过的项目都用到了它。
路人乙:为什么要用它呢?它提供三包服务吗?
路人甲:别人用它,老大说用它,就用他呗!
路人甲:三包,三包没有。不过我听说他能帮我们管理对象,6不6?
我:管理对象?我们new对象自己管理不是挺好的吗?想new就new,不用了还不要我们管,垃圾回收机制提供全套服务清理服务。
路人甲:貌似是这理~.~!
大牛甲:而在传统应用程序开发中,一个完整的应用是由一组相 互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。业务逻辑开发是不可 避免的,那如果有个框架出来帮我们来创建对象及管理这些对象之间的依赖关系。可能有人说了,比如“抽象工厂、工厂方法设计模式”不也可以帮我们创建对象, “生成器模式”帮我们处理对象间的依赖关系,不也能完成这些功能吗?可是这些又需要我们创建另一些工厂类、生成器类,我们又要而外管理这些类,增加了我们 的负担,如果能有种通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们是不是减少了许 多工作,加速了开发,能节省出很多时间来干其他事。Spring框架刚出来时主要就是来完成这个功能。
路人乙:哇哇!好厉害!
路人甲:原来老大是为了减少我们的工作才用spring的呀!
我:怎么通过配置方式来创建对象,管理对象之间的关系呢?
大牛甲:怎么这么多问题?我还要去用我的代码拯救世界!
我:大神!先拯救我啊!
好心人甲:你只要知道在你要管理的对象类上加上注解就好了,controller类就加@controller,service类就加@service,dao类就加@repository
我:好人一生平安
路人乙:说好的三包呢,还有没有啦
好心人乙:Spring框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能帮我管理最头疼的数 据库事务,本身提供了一套简单的JDBC访问实现,提供与第三方数据访问框架集成(如Hibernate、JPA),与各种Java EE技术整合(如Java Mail、任务调度等等),提供一套自己的web层框架Spring MVC、而且还能非常简单的与第三方web框架集成。从这里我们可以认为Spring是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架 的能力,从而使我们可以更自由的选择到底使用什么技术进行开发。
路人乙:哇哇!好多好多啊!
我:貌似有点多了,我先记住个管理对象,求大神降临指教我!