Content Table

Spring 判断设备信息

虽然响应式设计现在很流行,设计的好的话同一个页面在桌面设备和移动设备都能显示的很好,但是源码都一样的,也就是说桌面设备和移动设备要下载的文件都是一样大小的,在用户体验,页面显示效果和加载速度上不是非常理想,所以有必要针对移动设备进行优化,例如 jQuery 在移动设备上应该使用 jQuery Mobile,图片进行相应的缩小,很多桌面端的内容不应该出现在移动设备中,例如广告,侧边栏,复杂的搜索,动态获取的第三方信息等。

为了检测页面访问的设备类型,可以使用 Spring Mobile,当然也可以自己读取 User Agent 来判断。

Java 发邮件

可以使用 Apache Commons Mail 或者 Spring Mail 发送邮件。

Spring 项目中推荐使用 Spring Mail 发送邮件,非 Spring 项目里可以使用 Apache Commons Mail 发邮件 (需要的 Jar 包相对少一些)。

Java 读取 Properties 和 Yaml Properties

Java 可以使用 PropertiesConfiguration 来读取 properties 属性文件,Spring 4.3 后还支持了 Yaml 格式的属性文件

  • PropertiesConfiguration: 读取时可以自动进行类型转换,可以给定默认值

  • Yaml 格式的属性文件: 可以使用树形结构,方便分组,支持中文,比 .properties 属性文件更灵活,但是以普通的 java.util.Properties 来读取:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 1. 配置分组
    jdbc:
    driverClassName: com.mysql.jdbc.Driver a # 2. 前后空格会被自动去掉,注释不会被读取
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 密码 # 3. 支持中文
    urls:
    - http://127.0.0.1 # 4. 定义数组
    - http://localhost