博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring --理解
阅读量:6709 次
发布时间:2019-06-25

本文共 2043 字,大约阅读时间需要 6 分钟。

hot3.png

学习完了spring,重新梳理下。

###1.spring是什么?spring有哪些主要模块?

spring是java企业级开源框架,它能简化javaee开发。
1.(Core Container)核心容器
beans、core、context、spel(spring表达式)。对应的jar包是
spring-beans、spring-core、spring-context、spring-context-support、spring-expression。 spring-core和spring-beans构成了框架最基础的部分,包括控制反转和依赖注入。
spring-context提供了applicationContext接口,spring-context-support提供集成三方库(如定时器Quartz)。 spring-expression提供了一种强大的表达式语言,可以在运行时查询和操作对象。
2.Web
web(web、webmvc)、servlet、spring-webmvc-portlet(spring自己写的一个mvc框架)、websocket(消息推送用)
spring-web 提供了应用web的基本特性,比如文件上传等。spring-mvc包含了spring的mvc和rest web service实现。
3.数据访问/集成
jdbc、transaction、orm/oxm/jms
spring-jdbc完成对数据库的访问操作,spring-tx是事务。
4.aop和aspect
spring-aop提供了一个面向切面编程的实现,例如:允许开发者定义方法拦截器和切入点,应用场合:日志系统、缓存、拦截操作。spring-aspect可以方便的将面向切面的功能集成到ide中。
5.messageing与instrumentation
spring-message:发送消息,spring-instrument提供了类设备支持与加载器实现。

###2.使用spring框架有什么好处?

1.轻量:spring是轻量级的,占用内存小,集成方便。
2.控制反转:spring通过控制反转实现了 低耦合。ioc将创建对象的职责从 应用程序代码 整合到了ioc容器中。两种方式:注解与xml配置。
3.面向切面编程:将业务逻辑与其他常规服务分开。
4.事务管理:提供了一套完整的事务管理接口,可以扩展,灵活使用。
5.MVC框架:很好的实现分层。
6.集成三方框架:spring提供了很多集成三方框架的接口,如集成mybatis等。

###3.解释下ioc与di?

ioc:指的是控制反转;di:指的是依赖注入。
spring中的spring-beans与spring-context构成了ioc容器基础。
springbeans中的BeanFactory提供了一个配置机制,applicationContext接口继承beanFactory接口。
ioc具体实例:
通过在xml文件中配置(或通过注解方式)相关的bean,然后在java业务层直接使用配置的bean,实现了业务与配置(初始化等工作)分离。

di具体实例:

在xml中(或java代码中)配置bean的时候,需要给其属性赋值,赋值有三种方式:
1.setter方法注入,即

2.构造器方法注入,即

3.接口方式

###4.spring bean的生命周期?

在xx.xml中配置bean

spring中bean的生命周期从IOC容器日东开始创建,到ioc容器结束销毁经历了一系列过程。 ioc容器启动的时候

1.创建bean,即生成一个bean实例
2.给bean设置,三种方式前面说过
注意,创建bean的时候还可以设置如下属性:
scope:默认是singleton,即ioc容器只会创建bean的唯一实例。
prototype:每次请求创建不同的bean实例。
可以指定bean的init-method属性与destory属性来指定bean的创建与销毁。

###5.解释下aop?

aop:面向切面编程,允许程序模块化横向切割关注点,即横向 责任划分,例如:日志和事务管理。
aspect:切面,它将多个类的通用方法组装成可重用的模块,例如,日志模块既可以称作日志的aop切面。
在spring aop中,切面通过带有@aspect的注解类实现。
连接点,指的是程序的某个位置,在这个位置我们可以插入一个aop切面。
advice:通知,指的是在方法执行前后要执行的动作,包括:前置/后置/返回/异常/环绕通知。
point:切点,一个类拥有多个连接点(指可以插入aop切面的点)。开始调用切面的时候叫做切点,简单的理解为在哪里开始调用日志、事务的地方。

转载于:https://my.oschina.net/u/2312022/blog/744205

你可能感兴趣的文章
mongodb sort
查看>>
crossplatform---Node.js Applications with VS Code
查看>>
winform线程间操作UI的五种方法
查看>>
【第38题】2019年OCP认证12C题库062考试最新考试原题
查看>>
tree
查看>>
4.01 插入新记录
查看>>
Git ignore UserInterfaceState.xcuserstate
查看>>
爬取360摄影美图
查看>>
追女生送什么礼物好,要大全啊大全啊!
查看>>
参考文献人名缩写问题
查看>>
《Unix环境高级编程》读书笔记 第3章-文件I/O
查看>>
LeetCode – Refresh – LRU
查看>>
C# WEB代理
查看>>
Java之线程(0) - 序
查看>>
Manacher算法 - 求最长回文串的利器
查看>>
字符串操作函数的几个基本函数
查看>>
MFC窗口的拆分
查看>>
坐在马桶上看算法:Dijkstra最短路算法
查看>>
C语言第一次博客作业 陈张鑫
查看>>
mysql数据库中导入txt文本数据的方法
查看>>