Spring 自学笔记

2023-11-03

Spring 自学笔记终

前言

Spring全家桶:spring,springmvc,spring boot,spring cloud.

spring : 出现时间2002年左右,解决企业开发难度。

作用:减轻对项目模块之间的管理,类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系。

核心技术:ioc,aop。能实现模块之间,类之间的解耦合。

spring是一个容器负责管理系统中的重要对象
spring容器负责协调对象之间的关系
spring管理的对象无须依赖容器

spring 官网:https://spring.io

spring 优点

  • 轻量
  • 针对接口编程,解耦合
  • aop 编程的支持
  • 方便集成各种优秀框架

spring-conetxt 和 spring-webmvc是spring中的两个模块
spring-context:是ioc功能的,创建对象的。
spring-webmvc做web开发使用的, 是servlet的升级。
spring-webmvc中也会用到spring-context中创建对象的功能的。

目录

8 Druid 连接池

使用 JDBC 模板,首先需要配置好数据源,数据源直接以 Bean 的形式配置在 Spring 配

置文件中。根据数据源的不同,其配置方式不同:

Druid 数据源 DruidDataSource

Druid 是阿里的开源数据库连接池。是 Java 语言中最好的数据库连接池。Druid 能

够提供强大的监控和扩展功能。Druid 与其他数据库连接池的最大区别是提供数据库的

官网:https://github.com/alibaba/druid

使用地址:https://github.com/alibaba/druid/wiki/常见问题

8.1 配置文件

在项目中,我们一般将数据库配置信息放在一个独立的文件当中,这样便于修改,创建jdbc.properties 里面添加数据池连接属性,这里驱动不需要,因为阿里这个连接池会根据你的url自动匹配驱动名。
在这里插入图片描述

这里我用的是Oracle 轻量级,url用你们原本自己的。接着就去applicationContext.xml配置使spring知道你配置文件的路径

在这里插入图片描述

8.2 配置 得到sessionFactory

 <!-- 配置sessionFactory-->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="myDataSource"></property>

9 Spring 事务处理

9.1 什么是事务

讲mysql的时候,提出了事务。 事务是指一组sql语句的集合, 集合中有多条sql语句
可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功,
或者都失败, 这些sql语句的执行是一致的,作为一个整体执行。

  1. 在什么时候想到使用事务
    当我的操作,涉及得到多个表,或者是多个sql语句的insert,update,delete。需要保证
    这些语句都是成功才能完成我的功能,或者都失败,保证操作是符合要求的。
  2. 在java代码中写程序,控制事务,此时事务应该放在那里呢?
    service类的业务方法上,因为业务方法会调用多个dao方法,执行多个sql语句
  3. 通常使用JDBC访问数据库, 还是mybatis访问数据库怎么处理事务
    jdbc访问数据库,处理事务 Connection conn ; conn.commit(); conn.rollback();
    mybatis访问数据库,处理事务, SqlSession.commit(); SqlSession.rollback();
    hibernate访问数据库,处理事务, Session.commit(); Session.rollback();
  4. 3问题中事务的处理方式,有什么不足
    1)不同的数据库访问技术,处理事务的对象,方法不同,
    需要了解不同数据库访问技术使用事务的原理
    2)掌握多种数据库中事务的处理逻辑。什么时候提交事务,什么时候回顾事务
    3)处理事务的多种方法。
  5. 总结: 就是多种数据库的访问技术,有不同的事务处理的机制,对象,方法。

9.2 处理事务

需要怎么做,做什么
spring处理事务的模型,使用的步骤都是固定的。把事务使用的信息提供给spring就可以了

1)事务内部提交,回滚事务,使用的事务管理器对象,代替你完成commit,rollback
事务管理器是一个接口和他的众多实现类。

 接口:PlatformTransactionManager ,定义了事务重要方法 commit &
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 自学笔记 的相关文章

随机推荐

  • 超好用!分享8个 Python 自动化脚本

    每天你都可能会执行许多重复的任务 例如阅读新闻 发邮件 查看天气 打开书签 清理文件夹等等 使用自动化脚本 就无需手动一次又一次地完成这些任务 非常方便 而在某种程度上 Python 就是自动化的代名词 1 自动化阅读网页新闻 这个脚本能够
  • OLED拼接屏代工,如何选择靠谱的制造商?

    OLED拼接屏代工是一种新型的显示技术 它采用有机发光二极管 OLED 作为显示元件 具有高亮度 高对比度 高色彩饱和度 快速响应 低功耗等优点 被广泛应用于电视 手机 平板电脑 汽车显示屏等领域 而OLED拼接屏则是将多个OLED屏幕拼接
  • svm通俗讲解_通俗易懂--SVM算法讲解(算法+案例)

    1 SVM讲解 SVM是一个很复杂的算法 不是一篇博文就能够讲完的 所以此篇的定位是初学者能够接受的程度 并且讲的都是SVM的一种思想 通过此篇能够使读着会使用SVM就行 具体SVM的推导过程有一篇博文是讲得非常细的 具体链接我放到最后面
  • 校园贷受阻,汽车分期能帮趣店挽救困局吗?

    随着新零售理念被提出 众多传统零售领域均发生了颠覆式的零售革命 传统便利店到无人零售等新零售模式所获得的成功 更是激起了其他领域对新零售理念的热捧与追随 2018年1月中旬 以校园分期贷为主营业务的趣店 在上市之后又对外宣布将进军汽车新零售
  • Camera.WorldToScreenPoint 世界转屏幕位置

    Camera WorldToScreenPoint 世界转屏幕位置 function WorldToScreenPoint position Vector3 Description描述 Transforms position from wo
  • 7.TensorRT中文版开发教程-----TensorRT中的INT8量化详解

    7 如何使用TensorRT中的INT8 点击此处加入NVIDIA开发者计划 7 1 Introduction to Quantization TensorRT 支持使用 8 位整数来表示量化的浮点值 量化方案是对称均匀量化 量化值以有符号
  • 关于ActiveMq的持久化订阅

    1 ActiveMq 客户端
  • 央视国际节目定价发布接口规范C2

    央视国际 节目定价发布接口规范 V2 7 2 央视国际IP电视事业部 2011年3月 Revision History Revision Author Reviewed By A Description Of Change B Summar
  • ChatGPT可能马上取代你!ChatGPT能做什么?

    文章目录 前言 1 客服机器人 2 智能助手 3 内部沟通 4 个性化推荐 5 语音交互 6 教育培训 7 医疗健康 8 社交娱乐 9 营销推广 10 情感分析 11 舆情监测 12 知识管理 13 金融服务 14 物联网 15 公共服务
  • 【笔记】不一样的 双11 技术,阿里巴巴经济体云原生实践(下)

    CSE Serverless 在阿里巴巴 双11 场景的落地 云计算时代 Serverless 作为云原生重要技术组成部分 一开始便承载了太多的使命 承诺了云计算时代最典型并极具挑战的多维度服务指标 无服务运维 极速弹性伸缩 按量付费等 这
  • 关系数据库的特点

    关系数据库的特点 数据库管理系统将具有一定结构的数据组成一个集合 它主要具有以下几个特点 1 数据的结构化 数据库中的数据并不是杂乱无章 毫不相干的 它们具有一定的组织结构 属于同一集合的数据具有相似的特征 2 数据的共享性 在一个单位的各
  • .NET Core使用EF Core框架

    文章目录 概述 安装EF Core 使用EF Core增删改查 单表查询 插入数据 修改数据 删除数据 概述 Entity Framework EF Core 是轻量化 可扩展 开源和跨平台版的常用 Entity Framework 数据访
  • linux的用户和组

    linux是一个多用户 多任务的分时操作系统 windows是一个单用户操作系统 linux系统中的用户类型 1 root 超级管理员 uid 用户ID 0 权限大于Windows中的Administrator 2 系统用户 伪用户 uid
  • panda 修改行名字 报错 Index does not support mutable operations

    在进行panda数据操作 扩充时出现两个tricks 使用data pd append 进行行扩充数据时 行名需要相同 才能实现自动扩充 使用data pd columns 修改行名时 不允许切片操作 只能按照原数据长建立一个列表赋值修改
  • Python从txt文件中逐行读取数据

    非常的简单 提供三种方法 方法一 f open foo txt 返回一个文件对象 line f readline 调用文件的 readline 方法 while line print line 后面跟 将忽略换行符 print line e
  • 如何做好一份前端工程师的简历?

    一 你是前端工程师 虽然简历都会有一些常规信息 但职业决定了这份简历核心内容和求职成败 所以 这份简历应该尽可能体现你自己是一个合格的前端工程师 专业的前端工程师是什么可以看看去年Nate Koechley的演讲 Professional
  • 二叉树相关算法

    二叉树类算法 一 二叉树的路径和 二叉树的每个节点为0 9的一个数字 根到叶子的一条路径拼成一个数 求所有路径形成的数字和 struct TreeNode TreeNode left TreeNode right int value int
  • Ab3d.DXEngine 6.0 Crack 2023

    Ab3d DXEngine 不是另一个游戏引擎 如Unity 它强迫您使用其游戏编辑器 其架构 并且需要许多技巧和窍门才能在标准 Net 应用程序中使用 Ab3d DXEngine 是一个新的渲染引擎 它是从头开始构建的 旨在用于标准桌面
  • 基于yolov5的NEU-NET产品缺陷目标检测

    一 yolov5的使用 1 1 1 YOLOv5的介绍与特点 1 1 2 YOLOv5的基本使用 1 1 3目录结构树 2 二 数据预处理与模型训练 4 2 1 NET NET数据集 4 三 模型评价与分析 8 第一次写 没啥经验 内容的话
  • Spring 自学笔记

    Spring 自学笔记终 前言 Spring全家桶 spring springmvc spring boot spring cloud spring 出现时间2002年左右 解决企业开发难度 作用 减轻对项目模块之间的管理 类和类之间的管理