第一章:快速入门
开发流程:
1.创建库表 依赖jar包配置
2.事务:事务是恢复和并发控制的基本单位。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持续性/永久性(Durability)
3.散列算法:md5 散列算法:不可逆哦!
摘要是对信息主体的浓缩,摘要是一种单向函数,主要用于将无限的输入值转为有限的浓缩输出值,如MD5,则是将任意长度的字节系列转换为一个128位的摘要。MD5输出的128位的摘要通常会写 出32个十六进制的字符,每个字符表示4个bit。
数据库中存储的是密码的摘要哦,相同的字符串摘要也是相等的哦!
4.图片验证码:防止暴力破解!
5.重难点:请求入参 视图解析
第二章:Spring IOC容器
前言:控制反转:通过容器来控制业务对象之间的依赖关系。 降低对象间依赖。
IOC容器:bean缓存、bean生命周期管理、bean代理、资源装载、事件发布。
1.Bean配置方式:
a:基于xml配置
b:基于注解
c:基于java类
2.BeanFactory
ApplicationContext
WebApplicationContext
3.依赖注入方式: 属性注入、构造函数注入、
第三章:Spring AOP
前言:用途:横切逻辑(性能监测、访问控制、事务管理、日志记录)
1.AOP的出现:为了解决重复性代码。 纵向的重复性代码可以通过继承父类来消除。 但横向的重复性代码无法通过继承父类来消除,所以用AOP。
解决重复性代码:OOP的纵向抽象和AOP的横向抽象。
2.AOP术语
a:Spring连接点(Joinpoint):方法调用前、方法调用后、方法抛出异常时、方法调用前后。
b:切点(Pointcut):用来定位特定的连接点。 切点就是查询条件,查询特定的连接点哦! 类和方法做定位。
c:增强(Advice): 是织入目标连接点(Joinpoint)上的一段程序代码。
d:目标对象(Target):增强所植入的目标类哦。
e:引介:特殊的增强,也是一段程序代码(属性和方法),但不是来处理横切逻辑的,而是让该类成为某接口的实现类。
f: 代理(Proxy)
g:切面(Aspect)由切点和增强组成
3.织入方式:
a:编译期织入
b:类装载织入
c:动态代理织入 (spring采用的方式哦)
4.java漏洞(动态代理,还需好好的看下啊)。
第四章:使用Spring JDBC访问数据库
前言:Spring JDBC,为了降低JDBC的开发难度,减少重复性代码。
1.mysql获取新增主键值的查询语句:SELECT LAST_INSERT_ID()。 最后插入的记录的主键值。
2.sql语句规范:用大小写区分语义和非语义元素是比较好的编码习惯哦。 非语义元素:表名、字段名。
3.存储过程和函数。(数据库的加强点,早就忘了哦)。
4.BLOB和CLOB
5.主键的产生方式:应用层产生和数据库产生。 此何解?
应用层借助数据库的序列或表产生主键,这种方式可以保证程序的可移植性和安全性,同时可以通过缓存机制提高运行效率。
第五章:集成Hibernate
1.分页:
a:客户端分页,将所有数据记录一次性都查过来返回到客户端,缓存在客户端哦,通过客户端展现组件进行分页。
缺点: 但第一次交互负担会很大。 (高并发:访问次数很多的时候,访问次数很大)
优点: 减少交互次数,只需一次! 分页的时候会从缓存中读取。
b: 数据库分页,查询数据,每一次只查询指定条数的记录返回给客户端。 limit 5。
缺点:交互次数高,每一次请求都需要访问数据库,增加访问的并发性。
优点:交互负荷轻,数据量小。
c:服务端分页,和客户端分页一样,也是将所有数据记录查询出来,然后服务端做缓存,每一次都只返回指定条数的记录给客户端。
缺点:考虑数据缓存,数据同步问题,增加了系统的复杂性。
优点:客户端分页和数据库分页的折中选择, 减少数据库访问的并发性。 将所有查询结果做处理,每一次只返回给定请求指定的记录数。
第六章:Spring的事务管理
1.事务:事务是恢复和并发控制的基本单位。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持续性/永久性(Durability)
2.commit rollback savepoint
3.青奥项目用到的事务:通过aop/tx Schema命名空间 和 @Transactionl注解, 简化了事务配置难度哦。
第七章:Spring MVC
1.MVC:提高系统的灵活性、复用性、可维护性。
2.重难点:dispatcherServelt处理请求,以及请求参数绑定到控制器方法中。 上传文件也是哦!
控制产生用户所希望的模型数据和逻辑视图, vm视图来渲染模型数据(青奥项目)。
dispatcherServlet借助视图解析器来讲逻辑视图和模型数据渲染。
3.dispatcherservlet拦截请求(servlet:拦截器) servlet-mapping配置拦截制定后缀名的请求
dispatcherservlet协调分工哦。
4.listener:监听器 深入理解web服务器哦 web.xml 监听器启动spring的业务层的spring容器
filter:过滤器
servlet:拦截器
5.契约优于配置?
6.请求映射控制器方法:@RequestMapping
7.巩固Servlet HttpServletRequest HttpServeltResponse
8.处理数据模型,视图解析。
处理请求后返回的是一个ModelAndView对象,对于String、View、ModelMap,springMVC都会将其装配为一个ModelAndView对象(视图的逻辑名、模型对象)。
9.数据校验:在执行业务逻辑前,保证收到的数据是正确合法的哦。
10.DRY原则:Don`t Repeat Yourself
11.spring 上传文件
第八章:单元测试
1.软件测试:单元测试——》集成测试——》功能测试——》系统测试。 前两项是开发人员要做的哦。
2.测试用例:test case
测试套件:将多个测试用例组装成一个测试套件。 可以使测试用例批量运行。
3.好好的练习下测试吧, 看看测试框架
第九章:敏捷开发 (编程思想哦)
1.敏捷开发:是一种以人和核心、迭代、循序渐进的开发方式。 不跟分、不急躁。
2.Spring “约定优于配置” 思想?
3.敏捷开发高效工具: 版本控制工具 代码构建工具
CVS——》SVN:集中式版本控制系统 设置里程碑:打标签。
Git:分布式版本控制系统
Maven:自动化构建(清理、编译、测试、打包、部署) 理解这些命令,如果不用maven是怎样的?
第十章:服务平台框架
1.跨平台、跨语言、跨终端需求:面向服务的体系结构(SOA)为了解决这个需求。
多个应用产品通过服务接口进行整合,比如QQ(整合了QQ微信、QQ新闻、QQ股票等等)
2.Web service:SOA最理想的实现技术?
三个角色:服务提供者 服务请求者 服务中介者。 3个操作:发布、查找、绑定
第十一章 实例开发流程