尚硅谷SpringMVC (1-4) MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分MModel,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如StudentUser等一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。VView,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据CController,控制层,指工程中的。
动力节点Spring (18-19) Spring中的事件编程模型就是观察者模式的实现。在Spring中定义了⼀个ApplicationListener接⼝,⽤来监听Application的事件,Application其实就是ApplicationContext,ApplicationContext内置了⼏个事件,其中⽐较容易理解的是:ContextRefreshedEvent、ContextStartedEvent、注意:在实际开发中,service单独配置到⼀个⽂件中,dao单独配置到⼀个⽂件中,然后在核⼼配置⽂件中引⼊。
动力节点Spring (16-17) ○ 在⼀个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全。(⼀个减成功,⼀个加成功, 这两条update语句必须同时成功,或同时失败。○ C ⼀致性:事务要求要么同时成功,要么同时失败。○ I 隔离性:事务和事务之间因为有隔离性,才可以保证互不⼲扰。○ 多条DML要么同时成功,要么同时失败,这叫做事务。○ A 原⼦性:事务是最⼩的⼯作单元,不可再分。○ 事务:Transaction(tx)
动力节点Spring (13-15) 代理模式的作⽤是:为其他对象提供⼀种代理以控制对这个对象的访问。通过引⼊⼀个新的对象来实现对真实对象的操作或者将新的对象作为真实对象的⼀个替身,这种实现机制即为代理模式,通过引⼊代理对象来间接访问⼀个对象,这就是代理模式的模式动机。业务场景:系统中有A、B、C三个模块,使⽤这些模块的前提是需要⽤户登录,也就是说在A模块中要编写判断登录的代码,B模块中也要编写,C模块中还要编写,这些判断登录的代码反复出现,显然代码没有得到复⽤,可以为A、B、C三个模块提供⼀个代理,在代理当中写⼀次登录判断即可。
动力节点Spring (9-12) 九、Bean的循环依赖问题九、Bean的循环依赖问题什么是Bean的循环依赖A对象中有B属性。B对象中有A属性。这就是循环依赖。我依赖你,你也依赖我。⽐如:丈夫类Husband,妻⼦类Wife。Husband中有Wife的引⽤。Wife中有Husband的引⽤。singleton下的set注⼊产⽣的循环依赖。
动力节点Spring (1-4) ⼀、Spring启示录⼀、Spring启示录可以看出,UserDaoImplForMySQL中主要是连接MySQL数据库进⾏操作。如果更换到Oracle数据库上,则需要再提供⼀个UserDaoImplForOracle,如下:而且还要修改UserSerciceImpl里面的对象可以看出,这样⼀来就违背了开闭原则OCP。OCP开闭原则1. OCP开闭原则* 什么是OCP?OCP是软件七大开发原则当中最基本的一个原则:开闭原则对什么开?对扩展开放。对什么闭?对修改关闭。
动力节点Mybatis (13-17) ⼗三、MyBatis的⾼级映射及延迟加载⼗三、MyBatis的⾼级映射及延迟加载模块名:mybatis-010打包⽅式:jar依赖:mybatis依赖、mysql驱动依赖、junit依赖、logback依赖配置⽂件:mybatis-config.xml、logback.xml、jdbc.properties拷⻉⼯具类:SqlSessionUtil准备数据库表:⼀个班级对应多个学⽣。班级表:t_clazz。学⽣表:t_stu创建好pojo:Student、Clazz。
尚硅谷Scala (18) 可以使用泛型,这个类型可以代表任意的数据类。的子类型,即与原来的父子关系正相反,则称为 contravariance(时,可以传入整型、字符串、浮点数等等任意类型。也就是下界,可以随便传,只是处理是方式不一样。如果一个类型支持协变或逆变,则称这个类型为。十八、泛型、上下界、视图界定 、上下文界定。十八、泛型、上下界、视图界定 、上下文界定。scala 支持,可以在定义类型时声明(在这里引入关于这个符号的说明,在声明。类型的子类型,也称上界或上限,使用。对于一个带类型参数的类型,比如。类定义时引用了泛型。
动力节点Mybatis (6-12) 六、在WEB中应⽤MyBatis(使⽤MVC架构模式)六、在WEB中应⽤MyBatis(使⽤MVC架构模式)⽬标:● 掌握mybatis在web应⽤中怎么⽤● mybatis三⼤对象的作⽤域和⽣命周期● ThreadLocal原理及使⽤● 巩固MVC架构模式● 为学习MyBatis的接⼝代理机制做准备实现功能:● 银⾏账户转账使⽤技术:WEB应⽤的名称:● bank需求描述。
动力节点Mybatis (5) 第⼆步:编写配置⽂件Mybatis-config.xml。第三步:解析mybatis-config.xml。第四步:编写配置⽂件Carmapper.xml。模块名:parse-xml-by-dom。第五步:解析Carmapper.xml。五、⼿写MyBatis框架(掌握原理)五、⼿写MyBatis框架(掌握原理)j(普通的Java Maven模块)
尚硅谷Scala (13-14) 针对这两个操作,我们用一个函数去处理的思想,其实也变成了两个函数处理的思想(柯里化)函数编程中,接受多个参数的函数都可以转化为接受单个参数的函数,这个转化过程就叫柯里。不用设立柯里化存在的意义这样的命题。在使用闭包时,主要搞清楚返回函数引用了函数外的哪些变量,因为他们会组合成一个整体。没有名字的函数就是匿名函数,可以通过函数表达式来设置匿名函数。y 返回的是一个匿名函数 ,因为该函数引用到到函数外的 x,编写一个函数,接收两个整数,可以返回两个数的乘积,要求。能够接受函数作为参数的函数,叫做高阶函数。
动力节点Mybatis (1-4) ⼀、MyBatis概述⼀、MyBatis概述框架在⽂献中看到的framework被翻译为框架●Java常⽤框架:○ SSM三⼤框架:Spring + SpringMVC + MyBatis○ 等。。●框架其实就是对通⽤代码的封装,提前写好了⼀堆接⼝和类,我们可以在做项⽬的时候直接引⼊这些接⼝和类(引⼊框架),基于这些现有的接⼝和类进⾏开发,可以⼤⼤提⾼开发效率。●框架⼀般都以jar包的形式存在。(jar包中有class⽂件以及各种配置⽂件等。
尚硅谷Scala (12) 分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。中的元素的个数是否是三个如果是三个,则把三个元素分别取出,赋值给 first。在进行类型匹配时,编译器会预先检测是否有可能的匹配,如果没有则报错。如果想要表达匹配某个范围的数据,就需要在模式匹配中增加条件守卫。后面的对象提取器方法的参数为多个,则会默认调用。关键字进行声明,当需要匹配时,, 是作为一个整体执行,可以使用。中间,则表示隐藏变量名,即不使用。都不匹配,那么会执行。都不匹配,那么会执行。