使用@Vaild注解可以简化入参的校验,配合统一异常实现简单快捷的入参校验,具体使用参照以下
http://mark-yang.github.io/blog/2015/04/24/spring-springmvc-hibernate/
spring系列的jar包 spring-webmvc(spring-aop spring-beans spring-context spring-core spring-expression spring-web) spring-jdbc spring-orm aspectjweaver aspectjrt aopalliance aop切面
这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。
报错很明显,是由于hibernate的懒加载引起的。项目使用的是SpringBoot框架,JPA默认使用的是hibernate的实现,而hibernate的懒加载机制其实就是延迟加载对象,如果没有在session关闭前使用到对象里除id以外的属性时,就只会返回一个没有初始化过的包含了id的代理类。很多时候,这个代理类会引发上述的异常。
1、Struts2 是类级别的拦截,一个类对应一个 request 上下文,SpringMVC 是方法级别的拦截,一个方法对应一个 request 上下文,而方法同时又跟一个 url 对应,所以说从架构本身上 SpringMVC 就容易实现 restful url,而 struts2的架构实现起来要费劲,因为 Struts2 中 Action 的一个方法可以对应一个 url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。
Spring Boot Web 开发非常的简单,其中包括常用的 json 输出、filters、property、log 等
SpringMVC参数校验(针对@RequestBody返回400) From https://ryan-miao.github.io/2017/05/20/spring400/ 前言 习惯别人帮忙做事的结果是自己不会做事了。一直以来,spring帮我解决了程序运行中的各种问题,我只要关心我的业务逻辑,设计好我的业务代码,返回正确的结果即可。直到遇到了400。 spring返回400的时候通常没有任何错误提示,当然也通常是参数不匹配。这在参数少的情况下还可以一眼看穿,但当参数很大是,排除参数也很麻烦,更何况
s一、SpringBoot入门 今天在慕课网中看见了Spring Boot这么一个教程,这个Spring Boot作为JavaWeb的学习者肯定至少会听过,但我是不知道他是什么玩意。 只是大概了解过他是用起来很方便,不用什么配置的。于是我就花了点时间去跟着学习了。 视频地址:http://www.imooc.com/learn/767 教程中的代码:https://gitee.com/liaoshixiong/girl 1.1SpringBoot启动 在教程中,启动SpirngBoot有三种方式: 在ide
今天在慕课网中看见了Spring Boot这么一个教程,这个Spring Boot作为JavaWeb的学习者肯定至少会听过,但我是不知道他是什么玩意。
SpringMVC支持使用 【JSR303】 方式进行校验 1、springboot默认导第三方的校验框架hibernate-validator
可以看到七哥给大家整理的目录,我个人觉得还是比较清晰的,也尽可能的完善了,我带着大家过一遍,整清楚了含义和用法,剩下的就交给你们去实战了。
null,表示没有引用指向或没有指针,若操作该变量会引发空指针异常,即NullPointerException,NPE。
1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
几乎每个web网站都会对用户提交的参数进行校验,前端要做,后端也要做。防止用户直接通过接口调用的方式来请求或保存数据,从而导致产生脏数据等其他严重的后果。
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。
这篇文章是我准备用Java写一个RestAPI的时候,学习Spring boot用的。在看这篇文章的时候,我具备了用Python的Flask 和Golang 的beego 写应用的基础,并对MVC模式有很大的了解,同时,我也具有了Java的基础知识(虽然,仅仅是看了Java的基础书籍。)。所以,如果你并不具备以上的条件,你可能会有些看不懂。不过,我会尽量在翻译的时候夹带一些私货,以便能够让大家尽量能看懂。当然由于水平有限,翻译有可能不准确,请小伙伴们见谅,也请小伙伴们不吝斧正。另外,对于Java的又臭又长深有体会(毕竟作为Pythoner,Goer和半个swifter 更喜欢那些简洁的表达。由于想写Android应用,以及用Java编写后台应用的一条龙服务。当年还想用swift写后台应用,太天真了!Swift到现在写的还不如OC的性能,而且还大很多。)
http://blog.csdn.net/myarrow/article/details/50827370
Java hibernate 面试中国铁路通信信号-通号智慧城市研究设计院4-6k (一面)先让手写建一张完整用户表(主键,自增,五六个字段,时间)怎么查找重复的数据springmvc怎么返回响应spring怎么处理json串spring怎么处理事务视动世纪(北京)科技2-4k (一面)byte几字节,几字符?string为什么不可变?重写equals必须重写什么?说一下数据库增删改语录?什么是适配器模式,责任链模式举个例子?说一下内存模型,属性和属性的值都放在哪?类加载模型?为什么说di解耦,创建bean
我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的)。在这里给大家分享一下~~~
对于 Web 应用程序而言, 一个应用程序中涉及数据层、服务层、Web 层,以及各种外部服务之间的交互关系时,我们除了对各层组件的单元测试之外,还需要充分引入集成测试保证服务的正确性和稳定性。
(1) 核心控制器不同:spring mvc核心控制器是Servlet,而struts2是Filter。
最近在项目中使用了一下jpa,发现还是挺好用的。这里就来讲一下jpa以及在spring boot中的使用。 在这里我们先来了解一下jpa。
说来也巧,最近在研究 Passkey,本来思前想后是不写这篇文章的(因为懒),但是昨天刷知乎的时候发现廖雪峰廖老师也在研究 Passkey,想了想还是写一篇蹭蹭热度吧。
在hibernate中,通过sql语句查询带clob字段的记录,查出来的结果集是List<HashMap<String,Object>>类型,在调用jackson的接口转为json字符串的时候,会报异常,为了解决该问题,尝试在转json之前,先将clob字段找出,然后手动转成string。但是在找出clob字段的过程中,发现List<HashMap<String,Object>>中,clob字段的类型尽然不是Clob,而是一种类似$+数字的东东,原因是hibernate使用了自己的实例代理了该字段,获取真实实例的方法如下:
hibernate save()方法能够保存实体到数据库,正如方法名称save这个单词所表明的意思。我们能够在事务之外调用这个方法,这也是我不喜欢使用这个方法保存数据的原因。假如两个实体之间有关系(例如employee表和address表有一对一关系),如果在没有事务的情况下调用这个方法保存employee这个实体,除非调用flush()这个方法,否则仅仅employee实体会被保存。
Hibernate常见面试题 Hibernate工作原理及为什么要用? Hibernate工作原理及为什么要用? 读取并解析配置文件 读取并解析映射信息,创建SessionFactory 打开Se
首先我们需要在项目的POM文件中添加Hibernate Validator的依赖才可以使用它的数据校验器进行数据校验。由于Spring Boot已经将Hibernate Validator集成到了spring-boot-starter-web包里,所以这里不需要额外引用Hibernate Validator依赖。常用的校验注解下表所示:
spring boot web开发非常的简单,其中包括常用的json输出、filters、property、log等。
HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。
使用Spring restful返回持久化的json对象,由于使用了hibernate,所以报错:
1 事件回放 2 DB Trace 线索整理 3 Log 线索整理 4 当时的数据库配置说明 5 原因分析 6 解决方案
EntityManager是JPA中用于增删改查的接口,而通常我们使用的是Hibernate-EntityManager
上篇文章介绍了Spring boot初级教程:spring boot(一):入门篇,方便大家快速入门、了解实践Spring boot特性;本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。 web开发 spring boot web开发非常的简单,其中包括常用的json输出、filters、property、log等
实际上就是在struts中获取response对象的输出流。然后写入你要返回的json数据,本质和用servlet返回json数据是一样的,需要自己导入json的jar包。不做详细介绍。
之前有一篇文章介绍了如何快速上手Spring Boot:如何快速上手Spring Boot?,方便大家快速入门、了解实践 Spring Boot 特性;本篇文章接着上篇内容继续为大家介绍 Spring Boot 的其它特性(有些未必是 Spring Boot 体系桟的功能,但是是 Spring 特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。
Spring Boot (二):Web 综合开发 本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。 web开发 spring boot web开发非常的简单,其中包括常用的json输出、filters、property、log等 json 接口开发 在以前的spring 开发的时候需要我们提供json接口的时候需要
a.在实体类上加上注解,但是会导致新的问题,那就是关联的对象加上FetchType.LAZY不起作用了。当然这个注解不用加在每个实体上,写一个接口去实现就行。
我们尝试去捕获这个异常MethodArgumentNotValidException
Java持久化API(JPA,Java Persistence API)是一个将对象映射为关系数据库的标准技术。JPA通过注解或XML描述ORM(Object Relationship Mapping,对象-关系表的映射关系),并将运行期的实体对象持久化到数据库中。
可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基本没啥大问题了!
继续上一篇的讲解【依葫芦画瓢】SSM-CRUD --- 2 概要: 服务端返回json数据,构建员工列表 完成员工新增功能 增加表单前后端校验(jQuery+JSR303) 注:index文件太长,可访问https://gitee.com/tyronchen/ssm-crud/blob/master/ssm-crud/src/main/webapp/index-1228.jsp 查看,下文中不再添加代码,主要是讲述思路。 效果图: 一、服务端返回json数据,构建员工列表 服务端返回json数据,可
Java程序员面试题集(86-115) 摘要:下面的内容包括Struts 2和Hibernate的常见面试题,虽然Struts 2在2013年6月曝出高危漏洞后已经显得江河日下,而Spring MVC的异军突起更加加速了Struts 2的陨落,但面试中仍然有可能被问及和此框架相关的内容,毕竟Struts 2曾经被阿里巴巴、京东以及政府企业门户网站广泛采用。另一方面,Hibernate目前仍然是ORM框架中的中坚力量,MyBatis在此领域也有不容忽视的一席之地,因此了解这两个ORM框架对Java程序员
看过之前的蜕变系列文章,相信你对springMVC有了一定的认识。对controller的花式编写,也有了一定的认识。今天我们来开启新的认识,讲一讲web开发中比较关键的东西,比如页面跳转,数据类型转换,以及数据校验。
最近准备把后台管理系统重新设计开发下,使用了bootstrap,在网上找了个漂亮的后台模板:sb2-admin,在使用中遇到了不少问题,总结下,以免以后忘记。 📷 1、EF5利用NuGet升级到EF6后,一些Attribute冲突[未解决]: 我原先的数据驱动使用的是Fluent Nhibernate +Nhibernate+MSSQL2005,本来想玩玩EF的,而且现在新创建的MVC项目模板中,都会自带EF。因为EF5不支持项目模板生成Code First,所以升级到了EF
本文翻译自:Gson: Directly convert String to JsonObject (no POJO)
啃下MyBatis源码 – org.apache.ibatis.logging包源码分析
以前要访问网络或者下载图片什么之类的一般用AsyncTask来完成,可是大家会发现用起来非常不方便,所以今天我要讲的是Android AQuery中ajax来代替AsyncTask。Android AQuery中ajax对AsyncTask进行很好的封装,我们可以很简单进行网络访问。
领取专属 10元无门槛券
手把手带您无忧上云