Java菜鸟学习日记31

苹果设别按钮(表单)样式外观设置
在苹果设备上,按钮等表单控件默认有苹果风格的外观,如果要去掉这个默认外观,则需要设置css样式:-webkit-appearance:none
  • -webkit:iOS和Android浏览器的内核名称。
  • -moz:Firefox内核名称
  • -e:IE内核
  • -o:Opera
关于视频项目时长的存储和程序设计方案
  • 数据库存储时使用int而不是time,原因:
    • 用int存储可以保存更大的值,比如对所有视频的时长求和会超过1000小时
    • 用int存储可以很方便的计算,很方便的进行比较
      • (如筛选时长大于1小时小于2小时的视频)
      • 不需要太多的类型转换和函数调用
  • 在程序层面,为了提升用户体验,需要能够把秒数转换成“时间格式”
  • TimeLength【数据模型】:将秒数转换成 小时:分钟:秒,也能实现反向转换
  • TimeLengthFormatter【格式化器】:与SpringMVC结合,让SpringMVC能够调用TimeLength的转换功能
  • @TimeLengthFormatter【格式化注解】:可以应用到数据模型的属性上,让SpringMVC能够将表单数据绑定到数据模型的属性上
  • TimeLengthFormatterFactory【格式化器工厂】:SpringMVC可以通过这个工厂获取格式化器
使用单例模式节省内存空间
  • TimeLength很多时候会等于0,为了避免在内存中创建很多为0的TimeLength对象,可以在TimeLength类中增加一个public static final 的属性ZERO。让ZERO = new TimeLength(0,0,0);
  • 当程序中需要一个等于零的TimeLength时,直接使用TimeLength.ZERO。而不是自己new TimeLength。
  • 这种情况通常要求类是不可变得,以防止ZERO内部被篡改
    • 这就要求去掉所有属性的setter方法
判断对象的断言
  • 通常不能写成TestCase.assertEquals(obj,new Object());
  • 因为obj是现在已经存在的对象,而new Object() 将创建一个新对象,已经存在对象和新对象一定不是同一个对象
  • 通常通过下面的方法写断言:
  1. 通过toString()方法转换成字符串,进行总量判断。前提是需要重写toString方法
  2. 通过比较各个属性值判断,进行分量判断。
自定义注解
  1. @Retention:保留、保持
    1. Source:只在源代码中保留
    2. Class:会被编译到Class类文件中
    3. Runtime:运行时可以获取及加载
  2. @Target:目标、位置,注解可以标注的位置
    1. Type:可以用在类、接口
    2. Field:用在字段(属性)上
    3. Method:用在方法上
    4. Parameter:用在参数上
  3. @Documented:文档,是否将注解声称到JavaDoc中
  4. 定义注解使用的是:@interface
  5. 在注解内部,可以定义一些“方法”,这些“方法”就是注解中的命名参数。还可以使用default指定默认值
格式化器注解工厂
TimeLengthFormatterFactory implements AnnotationFormatterFactory<TimeLengthFormat>
负责将TimeLength小模型、@TimeLengthFromat、TimeLengthFormatter组合起来实现注解驱动的数据绑定,也就是将标记了@TimeLength Format注解的属性与表单提交的数据  此工厂需要添加到SpringMVC的配置文件中
MyBatis自定义类型转换器
  • 目标:将程序中的TimeLength对象转换成数据库中的int字段    或者反向将数据库中的int转换成TimeLength对象
  • 方法:
  1. 直接实现TypeHandler接口
  2. 从BasdTypeHandler继承(已经处理了null的情况,推荐)
在TypeHandler类上标记注解以表名TypeHandler能够支持的类型转换范围
  • @MappedJdbcTypes:数据库类型,可以写多个类型
  • @MappedTypes:Java类型,可以写多个类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值