spring实战笔记_第一章

这篇博客详细介绍了Spring框架的诞生背景,其主要组成部分和特点。包括基于POJO的轻量级编程,依赖注入的概念和实现,面向切面编程(AOP)的优势,以及Spring容器的类型和管理Bean的生命周期。通过实例代码展示了Spring如何简化Java开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、整体认识spring

1.1为什么会有spring

         创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB.

1.2spring的组成部分。

         Spring框架由六个模块分类组成,但目前接触的主要是容器、aop,orm框架集成,spring MVC,还有spring boot等

二、spring的特点:

2.1简述:

Spring做的是简化开发具体表现为四个方面:

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

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

(3)基于切面和惯例进行声明式编程;

(4)通过切面和模板减少样板式代码。

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

(1)最小侵入性编程:多框架通过强迫应用继承它们的类或实现它们的接口从而导致应用与框架绑死。

(2)保持pojo的独立性:Spring不会强迫你实现Spring规范的接口或继承Spring规范的类,相反,在基于Spring构建的应用中,它的类通常没有任何痕迹表明你使用了Spring。最坏的场景是,一个类或许会使用Spring注解,但它依旧是POJO。

代码示例:

//Spring的非侵入编程模型:一个普通的javabean,没有任何地方表明它是一个spring组件

//这个类在Spring应用和非Spring应用中都可以发挥同样的作用。

public class HelloWorldBean{

         publicString sayHello(){

                   return"helloWorld";

         }

}

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

(1)依赖注入:

1)为什么要实现依赖注入:

任何一个有实际意义的应用(肯定比HelloWorld示例更复杂)都会由

两个或者更多的类组成,这些类相互之间进行协作来完成特定的业务逻辑。

按照传统的做法,每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用,这将会导致高度耦合和难以测试的代码。

代码示例:

public class DamselRescuingKnight implementKnight{

         privateRescueDamselQuest quest;

        

         pulicDamselRescuingKnight(){

                   //RescueDamselQuest类与DamselRescuingKnight类紧密地耦合到了一起

                   //即骑士必救少女,如何需要执行其他的任务,那么就继续耦合,最后骑士的任务会变得异常繁重

                   //创建DamselRescuingKnight类,必创建RescueDamselQuest类

                   this.quest=newRescueDamselQuest();

         }

         //测试该方法时也会变得很困难,因为你无法保证quest.embark()方法被调用,因为quest可能并没有被创建

         publicvoid embarkOnQuest(){

                   quest.embark();

         }

}

2)什么是依赖注入:

         通过DI,对象的依赖关系将由系统中负责协调各对象的第三方

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值