Spring基础核心模板

image-20220103100151800

image-20220103101143966

image-20220103101435764

image-20220103101533540

image-20220103102151500

Beans: 所有应用都要用到的,包含访问配置文件,创建和管理bean以及进行IoC操作的类。里面的BeanFactory接口是spring的核心框架接口。

Core: 包含spring的核心工具类,spring的其他组件都要使用这个包里的类。是其他组件的基本核心。

Context: spring的上下文,也称为spring的IoC容器,通过上下文,我们可以获得容器中的bean,里面的ApplicationContext接口是关键,作为Beans模块里面的BeanFactory里面的扩展,但与其不同,ApplicationContext初始化之后会自动对所有的单实例对象实例化和依赖关系的装配。Context构建在Beans和Core模块之上。

SpEL: 创建一个强大的语言,用于在运行时查询和操纵对象,可用于将bean或其属性注入到另外一个bean。

还支持bena方法的调用。

AOP: jdk的动态代理,设计方法级别的aop横切实现(前后置通知)

Aspects: 为springAOP提供多种实现方法

Instrumantation: AOP的支援模块,主要支持对象级别的切面编程。作用是在jvm启动时,生成代理类,通过代理类来改变类的字节,从而改变一个类的功能实现aop的功能。多用于有状态的切面编程。

message: 为消息协议提供支持,解读spring的报文,通过该模块spring可以与消息队列进行消息生成和消费。

数据访问和集成:提供了jdbc的完整封装,简化连接数据库的步骤。

ORM: 集成ORM的框架例如mybatis。 JMS:集成消息队列。

WebSocket: 支持websocket,全双工的通信协议,http无连接,不可靠,看作为支持http长连接打造的大补丁。

WebFlux: 支持异步,响应式文件流。

Spring基础核心模块预览

spring-core

​ ◆包含框架基本的核心工具类,其它组件要都要使用到这个包里的类
​ ◆定义并提供资源的访问方式

spring-beans :

Spring主要面向Bean编程( BOP ) .

将对象包装在bean中,从而达到对这些对象的管理,以及进行一系列额外操作的目的。同时将对象之间的依赖关系转为注解或者配置文件来管理。

  • Bean的定义
  • Bean的解析
  • Bean的创建

spring-context

◆为Spring提供运行时环境,保存对象的状态

bean包装的是object,object有数据,提供数据生成的环境,对于context发现每个bean之间的关系并对关系进行维护,所以context是bean之间关系的集合。

◆扩展了BeanFactory

但与其不同,ApplicationContext初始化之后会自动对所有的单实例对象实例化和依赖关系的装配。

spring-aop

:最小化的动态代理实现

◆JDK动态代理
◆Cglib
◆只能使用运行时织入,仅支持方法级编织,仅支持方法
执行切入点

为了完整而讲的非核心模块
spring-aspectj + spring-instrument : Full AspectJ

image-20220103111448397

springdemo:

1、写接口并写一个方法,实现类实现方法

2、将该接口通过xml文件配置到bean容器中

3、由于主方法需要使用spring-context的相关依赖,所以在build.gradle里面添加依赖

4、主方法里读取配置文件,获取bean对象,调用bean的方法。

将接口交给spring容器保管

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
	<bean id="welcomeService" class="com.imooc.service.impl.WelcomeServiceImpl"/>

</beans>


因为我们需要解析xml文件里面的内容,需要springContext,所以需要在build.granle里面定义所依赖的jar包

image-20220103142701069

解析路径返回对应的spring容器,在获得bean实例,

image-20220103165308533

学好Spring的建议
◆阅读Spring官方文档–Spring Framework Reference
◆多动手调试
◆掌握设计模式 ,熟悉Spring框架的标签和注解的作用

软件版本知识点补充
◆GA: General Availbility ,官方正式发布的稳定版本
◆同质的还有RELEASE , Stable , Final
◆RC : Release Candidate ,发行候选版本,基本不再加入新的功能

◆Alpha :内部测试版本, bug较多,功能不全
◆Beta :公开测试版,比Alpha版本晚些,还会加功能,修bug

◆M : Milestone ,开发期发行版本,边开发边发行

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值