2018年2月24日 下午9:17
学习目标一:与实现vo相关
- 抽象POJO、BO、VO对象之间的转换关系及解决思路
- 在一期中,我们只使用vo(value object),不用bo(business object)
- 效果:ServiceResponse以前中
data对象保存的是POJO_Product对象,现在保存的是vo_ProductDetailVo。 - 本质:vo\ProductDetailVo对象比POJO\Product对象多几个属性而已,最终呈现在结构接口中的数据更多而已
- 为啥不直接更改POJO中的Product?
- POJO是Mybatis-generator自动生成的,与数据库是一一对应的,我们最好不要打破这种一一对应的关系

- POJO是Mybatis-generator自动生成的,与数据库是一一对应的,我们最好不要打破这种一一对应的关系
知识点的理解
下面的两个知识点静态块+流读取Properties配置文件,都是在由于我么要使用vo这种抽象对象,其中有一个新的属性:imageHost。效果如下:
我们期望达到的目标是:
- 防止硬编码,让配置与代码分离
- 如果仅仅是为了防止硬编码,那么我们可以使用static或者使用枚举类去实现。
- 为了以后可以进行热部署
- 有了这条,我们就必须使用properties配置文件来实现分离的目的
接下来详细解释着两个知识点:
- 静态块
- 作用:初始化静态变量,在类被加载的时候执行,而不是等到方法调用的时候
- 启动顺序:静态块>普通代码块>构造代码块
- 启动时间:在类被加载的时候执行,且只执行一次

- 流读取Properties配置文件
- 作用:读取Properties配置文件
- 代码位置:

- Properties配置文件位置:
- resource/mmall.properties
学习目标二: joda-time
- joda-time快速入门
- 用于封装util/DateTimeUtil工具类
学习目标三:Mybatis-PageHelper
学习目标四:IoC控制反转,依赖注入
学习目标五:Mybatis对where语句动态拼装的几个版本的演变

自动导入包:alt+enter
Tomcat启动的时候就需要读取配置
三种方法处理配置型变量
- enum
- static
- property