Spring笔记一

1.认识框架
       spring全家桶:spring、springmvc、springboot、springcloud。
       Spring出现在2002年左右,解决了企业级开发的难度。减轻了对项目模块之间的管理、类与类之间的管理,帮助开发人员创建对象,管理对象之间的关系。spring核心技术为:IoC、AOP。Spring能实现模块之间、类之间的解耦合。

       依赖:class A中使用class B中的属性或者方法,叫做class A依赖class B。这说明class A和class B是有关系的,如果没有class B,class A的功能就无法实现,而Spring能够管理A和B之间的关系,能够管理依赖。

2.Spring相关下载
教程:https://www.cnblogs.com/chy18883701161/p/11108542.html
官网:spring.io

其中,有4个是Spring的基础包,对应Spring核心容器的4个模块,是Spring项目必需的:

  • spring-core-5.1.8.RELEASE.jar //Spring的核心工具类,其它jar包是建立这个包基础上的,都要用到这个包中的类。
  • spring-beans-5.1.8.RELEASE.jar //配置、创建、管理Bean,负责IoC、DI
  • spring-context-5.1.8.RELEASE.jar //提供在基础IoC上的扩展服务
  • spring-expression-5.1.8.RELEASE.jar //提供对Spring表达式语言的支持

3.Spring的优点
(1)轻量
       Spring框架使用的jar都比较小,一般在1M以下或者几百kb。Spring核心功能的所需的jar总共在3M左右。Spring框架运行占用的资源少,运行效率高。不依赖其他jar。

(2)针对接口编程,解耦合
       Spring提供了IoC控制反转,由容器管理对象以及对象间的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。对象之间的依赖解耦合。

(3)AOP编程的支持
       在Spring中,开发人员可以从繁琐的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

(4)方便集成各种优秀框架
       Spring不排斥各种优秀的框架,相反其可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts、Hibernate、MyBatis)等的直接支持。

4.Spring的体系结构
在这里插入图片描述
       Spring由20多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP,Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(test)。
       其中,Mybatis就属于ORM中的一类;SpringMVC属于Web(开发)模块;AOP和Aspects模块就是关于面向切面编程;Core Container模块属于IoC中的概念,容器中存的是Java对象,由Spring容器来管理这些对象。

5.IoC概念
       IoC(Inversion of Control):控制反转,把对象的创建、赋值、管理工作都交给容器实现。
       控制:创建对象、对象的属性赋值、对象之间的关系管理。
       反转:把原来开发人员管理、创建对象的权限转移给容器实现。由容器代替开发人员管理对象、创建对象、给属性赋值。
       正转:由开发人员在代码中使用new构造方法创建对象,开发人员主动管理对象。

       为什么使用IoC:减少对代码的改动,实现不同的功能,实现解耦合,让代码的管理更加松散。
在这里插入图片描述
       IoC是一个概念,其实现方式多种多样,当前比较流行的实现方式是依赖注入(DI)。
       依赖注入(DI):指程序运行过程中,若需要调用另一个对象的协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。

Java中创建对象有哪些方式?
1)构造方法
2)反射
3)序列化
4)克隆
5)IoC:容器创建对象
6)动态代理

       IoC的技术实现:DI(Dependency Injection)依赖注入是IoC的技术实现,只需要在程序中提供要使用的对象名称就可以,至于对象如何在容器中创建、赋值、查找都由容器内部实现。Spring是使用DI实现了IoC的功能,Spring底层创建对象,使用的是反射机制。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值