spring的概述

大二期间,为考试然后简单整理的一些笔记

一、orm框架的理解
二、jpa与mybatis
三、spring的概述
四、AOP概述
五、springMvc的概述

三、spring的概述

1、spring是什么

Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

2. 使用Spring框架的好处是什么?

1)轻量:Spring 是轻量的,基本的版本大约2MB。2)非侵入式:Spring应用中的对象不依赖于Spring的特定类
3)控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依 赖,而不是创建或查找依赖的对象们,或者说是容器为对象初始化时, 同时主动地将该依赖传递过来,所以也称为依赖注入DI
4)面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务 逻辑和系统服务分开。
5)ioc容器:Spring 包含并管理应用中对象的生命周期和配置。
6)MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的 一个很好的替代品。
7)事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地 事务下至全局事务(JTA)。
8)异常处理:Spring 提供方便的API把具体技术相关的异常(比如由 JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。

2、Spring模块

1)Test模块:支持Spring组件在JUnit或TestNG框架中进行测试;
2)Core Container模块:核心容器,作用是管理 Bean,负责Context核 心上下文的创建与维护;
3)AOP和Aspect:支持面向切面编程;
4)Data Access/Integration:支持数据库操作,有自己的ORM框架
5)Web:提供Spring MVC,可对Web开发进行分层
在这里插入图片描述

3、Spring的IoC理解:

1)IOC就是控制反转,是指创建对象的控制权的转移,以前创建对象的主 动权和时机是由自己把控的,而现在这种权力转移到Spring容器中, 并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对 象与对象之间松散耦合,也利于功能的复用。
2)DI依赖注入,和控制反转是同一个概念的不同角度的描述,即 应用程 序在运行时依赖IoC容器来动态注入对象需要的外部资源。
3)最直观的表达就是,IOC让对象的创建不用去new了,可以由spring 自动生产,使用java的反射机制,根据配置文件在运行时动态的去创建 对象以及管理对象,并调用对象的方法的。
4)Spring的IOC有三种注入方式 :构造器注入、setter方法注入、根据 注解注入。
5)org.springframework.beans和org.springframework.context包是 Spring框架IoC容器的基础
6)org.springframework.context.beanFactory接口提供了一个先进的配 置机制能够管理任何类型的对象
7)ApplicationContext是beanFactory的子接口,beanFactory提供了 配置框架和基本功能,ApplicationContext则添加了更多的企业特定的 功能
8)ApplicationContext负责beans的实例化、配置和装配
9)IOC容器就是一个实现了BeanFactory接口的实现类,通过工厂模式取 得相对应的Bean对象引用

4、Spring注入bean的方式:

1)Set方法注入;
2)构造器注入:①通过index设置参数的位置;②通过type设置参数类型;
3)静态工厂注入;
4)实例工厂;

5、IoC注入类型

1)类类型
在这里插入图片描述
2)简单类型
在这里插入图片描述
3)集合类型
在这里插入图片描述
在这里插入图片描述

4)属性类型(properties)
在这里插入图片描述
5)Null
在这里插入图片描述
6)外部属性文件
在这里插入图片描述
在这里插入图片描述

6、Spring支持的几种bean的作用域。

1)singleton:默认,每个容器中只有一个bean的实例,单例的模式由 BeanFactory自身来维护。
2)prototype:为每一个bean请求提供一个实例。
3)request:为每一个网络请求创建一个实例,在请求完成以后,bean会 失效并被垃圾回收器回收。
4)session:与request范围类似,确保每个session中有一个bean的实 例,在session过期后,bean会随之失效。
5)global-session:全局作用域,global-session和Portlet应用相关。当 你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想 要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需 要存储在global-session中。全局作用域与Servlet中的session作用 域效果相同。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值