spring框架原理

Java的项目基本上会用到spring框架,可以说,spring框架已经成为Java的事实标准。

springboot声称 build anything。

spring框架包含多个模块,如图,官网的:

一,有两个重要的概念,IOC和AOP,这是spring框架的基石,理解了这个两个概念,也就是理解了spring框架。

1,IOC(Inverse Of Control),控制反转,spring容器接管对象,创建和维护。之前是用户自己new。理念:让别人为你服务。

 

Spring的IoC容器主要有两种,即BeanFactory和ApplicationContext(这个容器功能更加齐全,一般用这个)。

 

图一

 

2,AOP(Aspect-Oriented Programming),面向切面编程。

采用动态代理机制和字节码生成技术实现。JDK动态代理(仅支持接口,不支持类)和cglib技术。

   Spring框架的AOP机制可以让开发者把业务流程中的通用功能抽取出来,单独编写功能代码。在业务流程执行过程中,Spring框架会根据业务流程要求,自动把独立编写的功能代码切入到流程的合适位置。如图:

图一

图二

可以用来做日志,权限校验等。

   参考官网: https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#aop

很多功能用到了AOP的技术,比如事务的注解实现,spring 安全框架的使用等等。

3、IOC的注解方法:查看项目 https://github.com/hannibal2017/p2p/tree/simpleDemo/spring_annotation

     AOP的XML方式: 查看项目 https://github.com/hannibal2017/p2p/tree/simpleDemo/springAOP_xml

  AOP的annotation方式 查看项目 https://github.com/hannibal2017/p2p/tree/simpleDemo/springAOP_annotation

对应的文件readMe有说明。

4,spring事务

 整体介绍:

 

 编程式事务和声明式事务(常用),参考:SSM框架

传播行为有七种,隔离有五种。

 

posted @ 2019-03-11 16:46  阿罗luo  阅读(347)  评论(0编辑  收藏  举报