spring学习笔记(四)—— spring框架理解

1,spring是什么?​​​​​​​

  • spring是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
    • spring是一个Java开发框架,他的核心是spring容器,该容器负责管理spring中的java组件的管理
  • 例子:

作者:Java进阶架构
链接:https://zhuanlan.zhihu.com/p/46638942
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

全自主研发工厂A中车间接到任务,要生产一辆奥迪A6,那在编程中就得

1A6 a6=newA6();


但是A6有很多零部件组成,比如他需要四个轮胎,所以要

1LunTai t1=newLunTail();
2LunTai t2=newLunTail();
3LunTai t3=newLunTail();
4LunTai t4=newLunTail();


那轮胎由橡胶制作而成,所以要

1Xiangjiao xj=newXiangjiao();


….
因此,你会发现,造一辆车需要层层嵌套零部件的生产逻辑而成,使得这家工厂需要面面俱到,而且要级级紧扣,每一个步骤都需要等待前一个步骤完成,这就造成这个家工厂效率低下,而在Java编程思想中,这就叫做产生了高度耦合。
那工厂要提高效率呢?
这时候有了一家专门生产轮胎等零部件的工厂B向A工厂推销零部件
两个工厂一拍即合:
B工厂代理A工厂的零部件生产
这就变成了:
A工厂需要零部件的时候,就从B工厂直接进货即可

1//进货轮胎
2LunTai t1=B.getBean("LunTai");
3//进货玻璃
4BoLi b1=B.getBean("BoLi");



由此可见,A工厂就依赖于B工厂的零部件,在这spring的思想里,就是所谓的依赖,也就是说spring是一个容器(B工厂),而我们的项目(A工厂)需要任何的对象,都是从容器中获取,而不需要关心他是怎么来的。
现在我们再回过头来看看理论:

spring是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。


这时候就容易理解了:spring是一个Java开发框架,他的核心是spring容器,该容器负责管理spring中的java组件的管理

 

1ApplicationContext ctx =newClassPathXmlApplicationContext("spring-bean.xml")


上面的代码就是实例化一个容器并且装载spring-bean.xml中的所有bean组件
当业务需要某个对象时,我们不在需要new一个对象
而是直接从容器中获取,如

 

1A6 a=ctx.getBean("A6Bean");

2、spring有什么作用?

根据配置文件创建及组装对象之间的依赖关系。
作为OOP(面向对象编程)的一个补充,spring的AOP(面向切面编程)能对业务代码起到解耦的作用。
事务管理不再需要在业务代码中实现,而是交给spring管理。
和其他框架的快速无缝集成。

3、spring、springMVC区别

Spring是一个容器,SpringMVC是一个web框架,是Spring的一个模块

4、spring框架的模块

1.Spring容器:提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2.Spring context:Spring的上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
3.Spring AOP:面向切面编程。
4.Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
5.Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
6.Spring Web:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7.Spring MVC :spring提供的一个web框架。

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值