发表于: 2020-06-11 23:54:29
2 1676
今日作为:1.从头开始学Spring+Mybatis+Spring MVC SSM框架从Spring基础开始
做任务1只是百度了Spring和Mybatis的XML的基础配置,并没有深入了解
Spring今天了解了什么是控制反转和依赖注入
控制反转:
将手动new的对象交给Spring控制生成,而不是自己手动new生成,将对象的生成交给Spring管理就是控制反转(IOC)
依赖注入:
将IOC控制的类提供给另外需要的类就是依赖注入(DI)
个人感觉控制反转就是一种思路。依赖注入是控制反转的具体实现?
通过控制反转和依赖控制能解耦,让每个类。。。。。emmmmmmmm感觉就是很方便的修改A的代码?不会怎么影响到需要A的B的代码?
而且通过这种方式感觉做程序就像堆积木一样,只需要把功能模块写好剩下的让Spring去粘一起就好了?
2.Spring事务管理
事务具有ACID四个特性:
原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生
一致性(Consistency):事务在完成后数据的完整性必须保持一致
隔离性(Isolation):多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间的数据要相互隔离
持久性(Durability):一个事务一旦被提交,它对数据库中数据的改变应该是永久性的,即使数据库发生故障也不应该对其有任何影响
网上和书上的资料说事务管理是为了避免一些并发事务导致的问题
对这个的个人理解就感觉是在实际场景中,比如很多人在操作数据,A修改了数据库ID=1的行,B也同时修改了ID=1的行,那么到底数据库被 A修改了还是被B修改了???
或者是A在修改数据库中ID=1的行,但是同时B直接把ID=1的行删除了,那么A修改的数据库的ID=1的行到底修改了么?
又或者是A在查询数据库中ID=1的行,但是同时B修改了ID=1的行,那么A到底查询的记录是B修改过的还是修改前的?
事务主要是处理这些问题么???请教一下师兄?
3.AOP
AOP是面向对象编程的一种补充与完善
感觉就是进一步降低代码的重复性?在要编译打包的时候把需要的东西插入到需要的地方???
4.一直经常看见Bean或者JavaBean去认真了解了一下
JavaBean就是个public的类,有private属性,有getter setter方法,有默认无参构造,有可能会实现serializable接口的类。。。
这不就是我做任务1的实体类么。。。。。
好像这是个默认规矩?
目的是为了保持在将来扩展的时候不会怎么变动代码?
是因为对外的接口只有getter setter方法么?
5.toString();
我一直没注意这个方法有没有在使用的时候导包
今天也去了解了一下,它是Object的方法,所有类隐示的集成成了Object的这个方法,所以我在IDEA里面写实体类的时候上面会有个覆写的 标记。。。。
6.整理了一下思路怎么做任务2及其后面的任务
先从SSM框架、Spring Boot、Spring AOP、以及从任务2起需要的工具开始一个一个先一边做实验一边学吧
今日疑惑:这些概念都还不是很清楚。。。。
评论