加入自定义验证以及依赖注入功能