Spring框架

常用框架

Netty
RPC:Motan、Dubbo、Grpc
Strus
ORM:Hibernate、Mybatis
Spring:
Spring Frameword:
常说的spring框架
IOC依赖注入
Context上下文
bean管理
SpringMVC
其它spring项目也会依赖spring框架
Spring Boot:
简化了应用开发模式
Spring DATA:
封装了多种数据源操作能力,比如jdbc、redis、mongodb
Spring Cloud:
一套完整的微服务解决方案
Spring Security:
快速构建安全的应用和服务

spring初了解

原架构:
Controller层:
Servlet(Spring MVC或Strus2)
JSP
Service层:
业务逻辑
DAO层:(Hibernate或Mybatis)

spring贯穿上面所有层

spring优点

方便解耦,简化开发

spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给spring管理

AOP编程支持

方便的实现对程序进行权限拦截、运行监控等

声明式事务的支持

只需要通过配置就可以完成对事务的管理

方便测试

对junit4支持,通过注解方便测试

集成各种优秀框架

对javaee中一些难用的api(如jdbc),提供了封装,降低了使用难度,同时还支持各种优秀的框架

本身一站式

如果不使用其它框架,spring本身也全支持,但一般都选择集成优秀框架

核心包

Spring-beans

xml文件手动注入

Spring-context

类内注解,对应xml文件中的手动注入

Spring-core

Spring-expression

IOC 控制反转

DI依赖注入

BeanFactory Spring原始接口

ApplicationContext 容器

AOP 面向切面编程

对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低
横向重复 纵向抽取

优点:
1.不修改源码的情况下,进行权限校验、日志记录、性能监控、事务控制。
2.Spring帮我们生产动态代理对象

动态代理

切面编程 基于此实现
典型的动态代理,必须要实现接口,如果没有接口 是不能产生代理对象的;

Cglib代理

底层实现与上面动态代理对比
属于第三方代理对象,可以对任何类生成代理;
代理的原理是对目标对象进行继承代理;
如果目标对象使用final修饰 则无法使用Cglib;

Spring AOP

Joinpoint(连接点)

目标对象中,所有可以增强的方法

Pointcut(切入点)

目标对象中已经增强的方法

Advice(通知/增强)

前置通知:目标方法前调用
后置通知:目标方法后调用
异常通知:出现异常调用
最终通知:无论是否出现异常,目标方法运行后调用
环绕通知:目标方法运行前后都调用

Target(目标对象)

Weaving(织入)

将通知应用到切人点的过程

Proxy(代理)

将通知织入到目标对象之后而形成的代理对象

Aspect(切面)

切入点和通知的结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值