Spring
# Spring
学要无止尽
任职于达摩院自动驾驶实验室;负责自动驾驶云端计算的架构和研发;
展开
-
使用 Spring 2.5 注释驱动的 IoC 功能
概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注释和 Java 代码位于一个转载 2013-01-22 18:05:44 · 378 阅读 · 0 评论 -
使用validator-api来验证spring-boot的参数
作为服务端开发,验证前端传入的参数的合法性是一个必不可少的步骤,但是验证参数是一个基本上是一个体力活,而且冗余代码繁多,也影响代码的可阅读性,所以有没有一个比较优雅的方式来解决这个问题?这么简单的问题当然早就有大神遇到并且解决了,这一篇文章主要讲一下解决基于spring-boot的验证参数的比较好的方法:利用validator-api来进行验证参数。在spring-boot-starter...转载 2018-08-21 15:46:02 · 241 阅读 · 0 评论 -
Java SpringBoot上的参数校验JSR 303 Validation
背景JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。 Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 我们通常写接口时会对传来的参数进行校验判断,比如字符串非空判断,值在多少返回等,这些...转载 2018-08-21 15:43:32 · 495 阅读 · 0 评论 -
AOP学习之五种通知
Spring AOP五种通知详解spring aop通知(advice)分成五类:前置通知Before advice:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。正常返回通知After returning advice:在连接点正常执行完成后执行,如果连接点抛出异常,则不会执行。异常返回通知After throwing advice:在连接点抛出异常后执行。后置通知After...转载 2018-07-13 17:19:30 · 963 阅读 · 0 评论 -
Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
Spring 3.2.x通过@ResponseBody标签返回JSON数据的方法都报406错: Failed to load resource: the server responded with a status of 406 (Not Acceptable) 以及报错描述: The resource identified by this request is only capable of转载 2014-06-17 13:30:05 · 1131 阅读 · 0 评论 -
@PathVariable中文和点的处理
Spring MVC从3.0开始支持REST,而主要就是通过@PathVariable来处理请求参数和路径的映射。由于考虑到SEO的缘故,很多人喜欢把新闻的名称作为路径中的一部分去处理,这时候中文的名称就会遇到问题,没办法映射,这个是因为编码问题,只要到 TOMCAT/conf下找到server.xml,添加URIEncoding="UTF-8"进行URL编码设置就可以解决中文问题。另外经转载 2014-06-27 12:16:00 · 1674 阅读 · 0 评论 -
SpringMVC获取request对象和response对象
其他Action继承BaseAction方法一:1、BaseAction类[java] view plaincopypublic class BaseAction { protected HttpServletRequest request; protected HttpServ转载 2014-03-28 12:15:09 · 1537 阅读 · 0 评论 -
Spring MVC中Session的正确用法之我见
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性、可复用性与易集成性。优良的设计模式遍及各处,使得其框架虽然学习曲线陡峭,但一旦掌握则欲罢不能。初学者并不需要过多了解框架的实现原理,随便搜一下如何使用“基于注解的controller”就能很快上手,而一些书籍诸如“spring转载 2014-03-06 21:03:22 · 887 阅读 · 0 评论 -
理解AOP
Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。AOP 在Spring框架中被作为核心组成部分之一,的确Spring将AOP发挥到很强大的功能。最常见的就是事务控制。工作之余,对于使用的工具,不免需要了解其所以然。转载 2013-02-21 17:12:45 · 201 阅读 · 0 评论 -
Spring AOP (上)
工作忙,时间紧,不过事情再多,学习是必须的。记得以前的部门老大说过:“开发人员不可能一天到晚只有工作,肯定是需要自我学习。第一:为了更充实自己,保持进步状态。第二:为了提升技术,提高开发能力。第三:保持程序员对技术和学习的热情,工作的激情。程序员还是需要把基础打扎实,修炼自己的内功。” 所以赶紧把学习的东西总结一下,加深印象。之前有说了下AOP的原理 (http://www.cnblogs.c转载 2013-02-21 17:05:32 · 70 阅读 · 0 评论 -
Spring AOP (下)
利用方式一的配置起来,可见代码还是非常的厚重的,定义一个切面就要定义一个切面类,然而切面类中,就一个通知方法,着实没有必要。所以Spring提供了,依赖aspectj的schema配置和基于aspectj 注解方式。这两种方式非常简介方便使用,也是项目中普遍的使用方式。梳理之:4、方式二:schema配置a、业务类:View Code/** * 业务类 *转载 2013-02-21 17:09:49 · 300 阅读 · 0 评论 -
Spring AOP 常用的四种实现方式
Spring实现AOP的四种方式 先了解AOP的相关术语: 1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间转载 2013-01-23 12:20:24 · 619 阅读 · 0 评论 -
Spring事务配置的五种方法(2)
第五种方式:全注解xml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.spr原创 2013-01-19 21:42:27 · 465 阅读 · 0 评论 -
spring 事务配置 no matching editors or conversion strategy
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy1] to required type[com.brilliance.struts.service.impl.InvestServiceImpl] for property 'fundService转载 2013-01-19 21:40:33 · 1426 阅读 · 0 评论 -
Spring事务配置的五种方法
Spring事务配置的五种方法2009-04-24 10:20 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager原创 2013-01-19 21:41:44 · 457 阅读 · 0 评论 -
spring3 注解
spring3注解@Repository用于标注数据访问组件,即DAO组件@Service用于标注业务层组件,即Service层@Controller用于标注控制层组件(如struts中的action)@Component泛指组件,当组件不好归类的时候可以使用这个注解进行标注@Resource根据指定的名称进行反射获取所指向的bean@Aut转载 2013-01-22 17:53:38 · 478 阅读 · 0 评论 -
事物传播特性
Required:必须有逻辑事务,否则新建一个事务,使用PROPAGATION_REQUIRED指定,表示如果当前存在一个逻辑事务,则加入该逻辑事务,否则将新建一个逻辑事务,如图9-2和9-3所示;图9-2 Required传播行为图9-3 Required传播行为抛出异常情况 在前边示例中就是使用的Required传播行为:一、在调用user...转载 2019-07-04 16:02:27 · 265 阅读 · 0 评论