- 浏览: 7943069 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在mongodb中,如何对一个对象插入collection时进行验证呢?因为mongodb毕竟是NOSQL,跟关系数据库有点不同,所以其中一个校验的思路方法,是使用JSR-303的标准校验,
这个在HIBERNATE 4和spring 3中其实已经支持了,下面讲解下方法:
1) MAVEN中如下配置
2 spring 中引入验证框架
3 因为要在对象保存前进行验证,因此可以扩展spring for mongodb中的
AbstractMongoEventListener 类进行监听,重写其 onBeforeSave方法
4 然后调用validator.validate方法进行验证,返回的是一个set,就是哪些不符合要求的,代码如下:
5 写个类测试下,用注解:
6 单元测试下
这个在HIBERNATE 4和spring 3中其实已经支持了,下面讲解下方法:
1) MAVEN中如下配置
<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> <scope>compile</scope></dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version></dependency>
2 spring 中引入验证框架
<bean class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
3 因为要在对象保存前进行验证,因此可以扩展spring for mongodb中的
AbstractMongoEventListener 类进行监听,重写其 onBeforeSave方法
@Component public class BeforeSaveValidator extends AbstractMongoEventListener { @Override public void onBeforeSave(Object source, DBObject dbo) { // do validation here } }
4 然后调用validator.validate方法进行验证,返回的是一个set,就是哪些不符合要求的,代码如下:
@Componentpublic class BeforeSaveValidator extends AbstractMongoEventListener { @Autowired private Validator validator; @Override public void onBeforeSave(Object source, DBObject dbo) { Set<ConstraintViolation<Object>> violations = validator.validate(source); if (violations.size() > 0) { throw new ConstraintViolationException(violations); } } }
5 写个类测试下,用注解:
public class User { @Size(min = 10) private String name; @Min(18) private Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public Integer getAge() { return age; } }
6 单元测试下
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class ValidationTest { @Autowired private MongoTemplate mongoTemplate; @Test public void shouldThrowValidationException() { User user = new User("john", 17); try { mongoTemplate.save(user); fail(); } catch (ConstraintViolationException e) { assertThat(e.getViolations()).hasSize(2); } } }
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11402mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16290https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1799权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 816图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 573要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1335| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1312在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2236mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1159mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1476procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1342mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1491mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1149oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1135一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22871.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2366http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 367710g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1086在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8420留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1331expert indexing in oracle datab ...
相关推荐
同时,模型类可能使用了JSR-303/JSR-349 Bean Validation注解进行数据验证。 综上所述,"springmvc-mongodb"项目展示了如何在SpringMVC环境中利用MongoDB进行数据存储和检索,为开发者提供了一个基础但全面的参考...
7. **数据验证**:Spring Boot 集成了 JSR-303/JSR-349(Bean Validation),可以在 MongoDB 模型类中添加验证注解,确保数据的正确性。 8. **分页和排序**:Spring Data MongoDB 支持分页查询和结果排序,可以通过...
5. **JSR-303/JSR-349 验证**:Spring 3.0 集成了 JSR-303/JSR-349 规范,允许开发者通过注解进行Bean验证,例如 `@NotNull`、`@Size` 等,增强了输入数据的验证能力。 6. **泛型支持**:Spring 3.0 引入了对泛型...
6. **JSR-303/JSR-349 Bean Validation集成**:Spring 3.0集成了JSR-303(在3.1版升级为JSR-349),提供了一种标准的方式来验证Java Bean的属性,增强了数据校验的能力。 7. **WebSocket支持**:虽然Spring 3.0本身...
此外,我们可以使用`@Valid`注解配合JSR-303/JSR-349验证注解对输入数据进行校验。 总结来说,"dropwizard-java8-mongodb-template"为我们提供了一个快速启动RESTful API服务的起点。通过Dropwizard的强大功能,...
MongoDB Realm则是Shiro为MongoDB数据库定制的身份验证和授权模块,使得开发者可以利用Shiro的强大功能来管理和保护基于MongoDB存储的用户账户和权限。 【标签】"开源项目" 指的是这两个压缩包都是开源的,这意味着...
4. **Spring MVC增强**:在Spring5中,Spring MVC进行了优化,例如支持JSR-380(Bean Validation 2.0)进行数据验证,增强了错误处理和国际化支持。 5. **Java 8支持**:Spring5全面支持Java 8,包括Lambda表达式、...
- Java EE 数据验证:支持 Java EE 6 的数据验证模型 (JSR-303)。 - Java EE 上下文与依赖注入:支持 Java EE 6 的依赖注入模型 (JSR-299)。 - EJB、JPA、Servlet:支持这些 Java EE 技术。 - JMS、JSON 处理、...
3. **支持JSR-303 Bean验证**:Spring 2.5集成了JSR-303标准,允许在bean属性级别进行数据验证。 4. **增强的AOP支持**:提供了更灵活的切面定义,支持注解驱动的切面编程。 5. **Groovy支持**:引入了对Groovy的...
- 在保持Spring MVC原有强大功能的基础上,Spring 5.0进行了进一步优化,包括更好的类型安全的URL模板,更强大的数据绑定,以及对JSR-303/JSR-349验证的支持。 4. **Java 8兼容性**: - Spring 5.0全面支持Java 8...
3. **JSR-303 Bean验证**:Spring 2.5开始支持JSR-303标准,允许在Bean级别进行数据验证。 4. **SpEL(Spring Expression Language)**:一个强大的表达式语言,用于在运行时查询和操作对象图。 5. **AspectJ集成*...
- 使用JSR-303/JSR-349提供的注解进行数据验证。 - 配合Spring MVC实现前端验证与后端校验的联动。 9. **安全控制**: - 引入Spring Security进行权限管理,包括认证和授权。 - 实现OAuth2认证或JWT令牌验证。 ...
4. **JSR-303/JSR-349 Bean Validation 支持**: - Spring3.0 集成了 Bean Validation API,允许开发者使用注解进行数据校验,如 @NotNull、@Size 等,提高了数据验证的灵活性和可复用性。 5. **MVC 框架增强**: ...
6. **Hibernate Validator**:这是一款遵循JSR-303/JSR-349标准的bean验证框架,它允许在模型层定义验证规则,并在数据输入时进行检查。Hibernate插件将其集成到持久化框架中,可以确保数据的完整性。 7. **...
为了保证输入数据的正确性,“ruoyi-common”可能包含数据验证组件,如 Apache Commons BeanUtils 或 JSR 303/JSR 349 Bean Validation,用于校验业务对象的属性。 8. **国际化与本地化**: 对于多语言支持,核心...
10. **JSR-303/JSR-349验证**:Spring与JSR-303/JSR-349标准(Java Bean Validation)集成,提供对象级别的数据验证。 11. **Spring Batch**:Spring的批处理框架,用于处理大规模数据处理任务,提供事务管理、错误...
4. 数据验证:使用JSR-303/JSR-349 Bean Validation对输入数据进行校验,确保数据正确性。 5. 日志记录:通过集成如Logback或Log4j进行详细的日志记录,便于问题排查和性能分析。 最后,测试是保证API稳定性的关键...
- **数据验证**:使用JSR-303 Bean Validation或者自定义验证逻辑,确保输入的有效性,如邮箱格式、用户名唯一性等。 - **密码处理**:对新用户密码进行哈希和加盐处理,然后存储到数据库。 - **邮件验证**:为了...
15. **数据验证**: 使用JSR-303/JSR-349标准的注解(如`@NotNull`、`@Size`等)来验证模型对象的属性,确保数据的正确性。 在实际开发中,我们需要配置Spring Boot的application.properties或application.yml文件,...
3. **JSR-303/JSR-349 Bean Validation**:Spring 3.0集成了Bean Validation规范,允许在Spring MVC中进行数据验证,提高了代码的可维护性和一致性。 4. **Spring Expression Language (SpEL)**:3.0版本加强了SpEL...