Java基础:JSR 303校验

  JSR 303JavaBean数据合法性校验提供的一个标准规范,叫做Bean Validation,随JavaEE 6发布。官方参考实现是Hibernate Validator

  Bean ValidationJava Bean定义了相应的数据类型和API,在应用中通过在Bean属性上标注类似于@NotNull, @Max等标准的注解指定校验规则,并通过验证接口对 Bean 进行验证。

  该校验框架是一个运行时框架,在验证之后验证的错误信息被马上返回;核心接口是javax.validation.Validator,该接口根据目标对象类中所标注的校验注解进和地数据校验,并得到校验结果。

  该标准目标有两个实现:Hibernate ValidatorApache bval,使用较多的是前者。

  JSR 303官方标准:https://jcp.org/en/jsr/detail?id=303

阅读更多

Java基础:Reflection 反射机制理解

反射(Reflection)是 Java 中的一种工具,即运行态的 Java 程序可获取任意一个对象的信息,并且可以操作类或对象的内部属性(类型、属性、方法)。
  
程序中一般的对象的类型都是在编译期就确定下来的,而Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。

反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。反射是相对常规的通过new来创建对象方式的反操作的称呼。

实际上,只有当程序需要动态创建某个类的对象时才会考虑使用反射,通常在开发通用性比较广的框架、基础平台时可能会大量使用反射。

阅读更多

Spring(十):Bean Scopes(作用范围)

  使用 Spring 框架,在定义 Bean 时,通常不指定其作用范围而使用默认的配置,可能会对 Spring Bean 的作用范围不甚了解。Spring 给 Bean 定义的作用范围提供了灵活的配置,开箱即用,Spring Framework 支持 六个作用范围,其中四个范围只有在使用支持 Web 的 ApplicationContext时才能使用,还提供了自定义作用范围。

  查看了下 Spring 5.0.9 Release 版本关于 Spring Bean scopes章节内容,在此做个记录,至于是否和其它版本有区别暂未对比。  

阅读更多

Java基础:Java链式编程小记

  链式编程可以点点点出属性,通过返回对象本身(this)可以调用本身的属性。
  一般在创建对象并给属性赋值时使用。
  这种方式使用会越来越多,很多Apache工具如HttpClient里给RequestConfig赋值,JDK里面有些类或方法也使用,如:StringBufferappend()方法。

阅读更多

Spring(九):Bean 的生命周期

  Spring Bean的生命周期由多个特定的生命队段组成,可以从两个层面来定义Bean的生命周期。第一层是Bean的作用范围;第二层是实例化Bean所经历的一系列阶段。

阅读更多