〇、概述

1、常用资料

2、组成

一、控制反转与依赖注入

(一)Spring概述

1、介绍

以IOC和AOP为内核的框架

通过IOC实现控制,使用spring创建对象,与DI描述同一个概念

DI是对象的属性,注入好值,直接使用

2、目录结构

60个jar文件,分三类:class文件,javadoc文档,sources框架源文件

4个模块

core核心工具类

beans所有应用都用到的jar包

context是IOC功能上的扩展服务和企业级服务(如EJB或JNDI)

expression定义表达式语言

(二)控制反转与依赖注入

1、IOC

从IOC容器中关联对象类【通过容器控制应用程序】

创建对象交给IOC容器处理,颠倒控制权,实现控制反转

2、DI

应用程序依赖容器创建并注入所需要的外部资源

3、IOC/DI的实现

(1)Spring核心容器

最基本和最重要的包:BeanFactory&ApplicationFactory

Beans

管理bean的配置文件:applicationContext.xml等,配置bean和内部的属性

BeanFactory工厂模式,可以读取bean的配置文件,通过getBean可以生成bean的对象

ApplicationContext:可以读取文件系统、web系统或类路径

(2)IOC/DI的实现方式

动态注入bean组件中的方式:属性setter方法(添加setter方法)或构造方法(ref="")注入

二、Bean

1、Bean的配置

<bean><property>

2、Bean的作用域

作为bean标签中的一个属性

共7种,最常见的是singleton单例作用域和prototype原型作用域

singleton单例作用域:始终指向同一个对象,是spring默认的作用域

prototype原型作用域:每次创建一个新的bean实例

3、Bean的装配方式

(1)基于XML的装配

两种方式:设置注入(bean中的property)和构造注入(constructor-arg)

(2)基于注解的装配

常用注解:

@Component:泛化方式描述bean

@Repository:数据访问层DAO层的类标识为bean

@Service:业务层的类标识为bean

@Controller:将控制层的类标识为Spring中的Bean

@Autowired:标注对应的变量、方法,完成Bean的自动配置工作【按照Bean类型装配】

@Resource:作用与@Autowired相同【按照Bean的实例名称进行装配】【需要注入的类中注入,写autowired或resource注解标识从哪个bean中拿到】

@Qualifier:与@Autowired注解配合使用,将@Autowired默认的Bean类型装配修改为按Bean的实例名称装配

配置:

基本方式:按照bean的实例进行配置

高效方式:对包内的所有Bean文件进行扫描,配置-<context: component-scan base-package="Bean所在的包路径">

(3)自动装配

三、AOP

四、数据开发

五、事务管理

【Java框架】SSM-Spring总结:IOC、DI、AOP、JDBC、事务管理、实际案例的更多相关文章

  1. Spring MVC 中使用AOP 进行事务管理--XML配置实现

    1.今天写一篇使用AOP进行事务管理的示例,关于事务首先需要了解以下几点 (1)事务的特性 原子性(Atomicity):事务是一个原子操作,由一系列动作组成.事务的原子性确保动作要么全部完成,要么完 ...

  2. spring IOC DI AOP MVC 事务, mybatis 源码解读

    demo https://gitee.com/easybao/aop.git spring DI运行时序 AbstractApplicationContext类的 refresh()方法 1: pre ...

  3. Spring(IOC、AOP和事务)

    目录 Spring介绍 Spring IOC 传统代码对象管理的弊端 实现过程 bean标签属性介绍 对象创建方式 工厂bean bean的作用域 SpringBean的生命周期*** 依赖注入 注解 ...

  4. Spring之IOC、AOP和事务

    IOC 什么是IOC?如果你回答:Spring是个IOC容器,实现原理是反射,没了.这样证明你没有真正理解IOC. IOC的意思是控制反转,还有个外号叫依赖注入(DI).为什么起这么晦涩难懂的名字呢? ...

  5. Spring MVC 中使用AOP 进行事务管理--注解实现

    注解实现实现事务管理很简单,和配置式差不多,配置文件的头文件也要加相应的支持.配置数据源,并开启事务管理支持即可. <bean id="transactionManager" ...

  6. Spring理解IOC,DI,AOP作用,概念,理解。

    IOC控制反转:创建实例对象的控制权从代码转换到Spring容器.实际就是在xml中配置.配置对象 实例化对象时,进行强转为自定义类型.默认返回类型是Object强类型. ApplicationCon ...

  7. 解释Spring中IOC, DI, AOP

    oc就是控制翻转或是依赖注入.通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过spring的bean工厂为你长生这样一个对象.aop就是面向切面的编程.比如说 ...

  8. spring的IOC和AOP

     spring的IOC和AOP 1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是 ...

  9. spring的IOC和AOP详细讲解

    1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时, ...

  10. Spring的IOC和AOP之深剖

    今天,既然讲到了Spring 的IOC和AOP,我们就必须要知道 Spring主要是两件事: 1.开发Bean:2.配置Bean.对于Spring框架来说,它要做的,就是根据配置文件来创建bean实例 ...

随机推荐

  1. Mybatis 一级缓存和二级缓存原理区别 (图文详解)

    Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechen Mybatis缓存 缓存就是内存中的数据,常常来自对数据库查询结 ...

  2. 谈谈对K8S CNI、CRI和CSI插件的理解

  3. Elastic:应用程序性能监控/管理(APM)实践

    在今天的文章里,我们将介绍Elastic的一个重要的应用:应用程序性能管理(Application Performance Monitoring/Management),简称APM.那么到底什么是AP ...

  4. K8S概念理解

    Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序. Worker节点是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机. 每个Wo ...

  5. Elastic:使用Postman来访问Elastic Stack

    转载自:https://elasticstack.blog.csdn.net/article/details/104982536 官方链接地址:https://www.elastic.co/guide ...

  6. 第六章:Django 综合篇 - 7:网站地图sitemap

    网站地图是根据网站的结构.框架.内容,生成的导航网页,是一个网站所有链接的容器.很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指 ...

  7. PostgreSQL 删除表格

    PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据.规则.触发器等,所以删除表格要慎重,删除后所有信息就消失了. 语法 DROP TABLE 语法格式如下: DROP TA ...

  8. Docker方式安装Jenkins并且插件更改国内源

    参考网站:https://www.jenkins.io/zh/doc/book/installing/#在docker中下载并运行jenkins 建议使用的Docker映像是jenkinsci/blu ...

  9. echarts pie饼状图绑定点击事件

    var valueData = [ {value: 33,name: '诊所'}, {value: 29,name: '汽车服务相关'}, {value: 27, name: '洗衣店'}, {val ...

  10. Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务

    前言 最近把Python写的数据采集平台往.Net Core上迁移,原本的采集任务使用多进程+线程池的方式来加快采集速度,使用Celery作为异步任务队列兼具定时任务功能,这套东西用着还行,但反正就折 ...