1. 属性分析组件分离出去
  2. 增加了如果构造函数只要求一个参数则尝试直接用构造函数生成对象
  3. 增加接口定义,易于复用
  4. 优化了notnull的判断,如果类定义了默认值则判断为通过