
spring
文章平均质量分 95
菜鸡03号
为3年后的架构而战
展开
-
RequestMapping
前段时间项目中用到了RESTful模式来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request.getReader() 打出的数据里确实存在浏览器提交的数据。为了找出原因,便对参数绑定(@RequestParam、 @RequestBody、 @Reque转载 2017-07-22 17:42:39 · 357 阅读 · 0 评论 -
@Valid
我们在做Form表单提交的时候,只在前端做数据校验是不够安全的,所以有时候我们需要在后端同样做数据的校验。好在SpringMVC在后台验证给我们提供了一个比较好的支持。那就是使用Valid接口的实现类做数据校验。在这之前我们先做一下准备的工作。添加相关的Maven依赖我们先把需要的jar包添加进来。[html] view plain copy转载 2017-07-22 17:51:43 · 406 阅读 · 0 评论 -
spring注解@Transaction详解
原因:spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用之前就会启动transaction。然而,如果这个有注解的方法是被同一个类中的其他方法调用的,那么该方法的调转载 2017-08-02 00:36:11 · 2027 阅读 · 0 评论 -
Spring AOP示例
切面的优先级为项目增加一个新的切面类,负责验证功能,则需要指定切面执行的顺序。即切面的优先级。具体方法是给切面类增加@Order注解,并指定具体的数字,值越小优先级越高1 package com.yl.spring.aop; 2 3 import java.util.Arrays; 4 5 import org.aspectj.lang.JoinPoint; 6 import org.aspe转载 2017-08-02 09:04:40 · 329 阅读 · 0 评论 -
BeanFactory和ApplicationContext的区别
BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能。ApplicationContext以一种更向转载 2017-08-16 20:49:32 · 324 阅读 · 0 评论 -
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有。如果调用了有注解的addPerson()方法,会启动一个Transaction;如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如转载 2017-08-23 00:44:18 · 952 阅读 · 0 评论 -
@JsonProperty
jackson的maven依赖dependency> groupId>com.fasterxml.jackson.coregroupId> artifactId>jackson-databindartifactId> version>2.5.3version>dependency>所以引入这一个依赖就可以了@JsonProperty 此注解用于转载 2017-09-27 10:30:34 · 1376 阅读 · 0 评论 -
Spring的ApplicationEvent的使用
Spring 3.0中提供了很多类似*Aware的类,其中ApplicationContextAware接口可以实现我们在初始化bean的时候给bean注入ApplicationConxt(Spring上下文对象)对象。ApplicationContextAware接口提供了publishEvent方法,实现了Observe(观察者)设计模式的传播机制,实现了对bean的传播。通过Applicat转载 2017-11-08 16:21:42 · 561 阅读 · 0 评论 -
Spring事物@Transactional 事物使用详解
spring对于事务异常的处理//unchecked 运行期Exception spring默认会进行事务回滚 比如:RuntimeException//checked 用户Exception spring默认不会进行事务回滚 比如:Exception如何改变spring的这种默认事务行为?可以通过在方法上添加转载 2017-10-31 19:20:15 · 626 阅读 · 0 评论 -
Spring工厂模式
. 前言我相信很多在刚刚使用Spring的同事会考虑一个问题: 我们为什么要用Spring,Spring虽然给我们带来了一些好处,可是,似乎好处似乎不是那么明显。IOC的作用似乎也很牵强。 所以,冷凝沙漠在此记录了自己的一些Spring开发经验,与各位分享。 2. 一个常见的业务场景2.1. 场景简介转载 2017-12-22 16:50:51 · 693 阅读 · 0 评论 -
Spring 实现AOP的四种方式
一、前言在网络上看到一篇博客Spring实现AOP的4种方式,博主写的很通俗易懂,但排版实在抓狂,对于我这么一个对排版、代码格式有强迫症的人来说,实在是不能忍受~~~~(>_我亲手实现了一遍,重新整理,加上了一些不易关注到的细节、漏掉的知识,以及自己对AOP的一些理解,写成这篇博客。二、AOP相关概念(1)AOP是什么?AOP与拦截器的区别?太抽转载 2017-07-30 01:36:01 · 1452 阅读 · 0 评论 -
Spring3.0中@ResponseBody和@ResponseEntity的区别
在传统的开发过程中,我们的控制CONTROLL层通常需要转向一个JSP视图;但随着WEB2.0相关技术的崛起,我们很多时候只需要返回数据即可,而不是一个JSP页面。 SPRING MVC3的@ResponseBody使Controller直接返回数据,而不是直接指向具体的视图;同时通过MessageConverter和produces(如produces="text/pla转载 2017-07-12 17:12:47 · 1130 阅读 · 0 评论 -
@Configuration、@Bean
spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置。一、首先,需要xml中进行少量的配置来启动Java配置:[java] view plain copyprint?"1.0" encoding="UTF-8"?> "http://www.springframework.org/schema转载 2017-04-19 16:34:33 · 323 阅读 · 0 评论 -
Spring入门<一>
1 控制反转IOC\依赖注入DI,因为翻译的不同,因此有两个名字。 控制反转意思就是说,当我们调用一个方法或者类时,不再有我们主动去创建这个类的对象,控制权交给别人(spring)。 依赖注入意思就是说,spring主动创建被调用类的对象,然后把这个对象注入到我们自己的类中,使得我们可以使用它。 举个简单的例子,程序猿加班了一个月,很累,想要放松下,于是去找人吃“麻辣烫”转载 2016-09-01 19:31:02 · 404 阅读 · 0 评论 -
Spring依赖注入
xmlns:context="http://www.springframework.org/schema/context"1.依赖注入的理解:控制反转又名依赖注入,原来当生产一个类的对象的时候需要我们主动来创建(NEW),当引入Spring后当我们需要一个类时不再需要我们来主动创建(new)而是由Spring为我们创建;这样我们对对象创建的控制关系就转为Spring对对象创建的控制,因此称作控转载 2016-09-13 23:12:36 · 112 阅读 · 0 评论 -
spring中配置数据源的4种形式
不管采用何种持久化技术,都需要定义数据源。Spring中提供了4种不同形式的数据源配置方式:spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源,JNDI数据源。1.spring自带的数据源DriverManagerDataSourceXML代码:[html] view plain copy转载 2016-09-07 18:57:19 · 3258 阅读 · 0 评论 -
Spring依赖注入---<2>
学习Spring,时间一长就把最开始学的基础生疏掉了...算是写个笔记以便以后复习吧 什么bean,在Spring里可以理解为组件。可以联系一下我在前一篇笔记《理解Spring框架的控制反转——学习笔记》中放进IoC容器里的东西,比如说放在容器实例化的类,在容器中依赖注入的类...等等。可以先配置一个简单的bean看看,代码如下: 首先是一个创建一个Bean类,其实也就是个普通的类转载 2016-11-05 10:22:09 · 439 阅读 · 0 评论 -
Hibernatecallback
HibernateTemplate提供了非常多的常用方法来完成数据库的基本操作,使得持久层访问摸板化,只要创建HibernateTemplate 实例后,注入一个SessionFactory的引用就可以了.无须手动创建sessionFactory,更加智能的管理hibernate 的Session,没有大量的try/catch操作,void delete(Object entity)删转载 2016-11-05 11:40:05 · 371 阅读 · 0 评论 -
spring配置中<context:annotation-config> 和 <context:component-scan>区别
是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。1、配置作用:他的作用是式地向 Spring 容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotat转载 2016-11-05 13:19:31 · 287 阅读 · 0 评论 -
Spring中DTD和XSD
DTD:(Document type Definition )文档类型定义,是一种xml约束模式语言,是xml文件的验证机制,属于xml文件组成的一部分。保证xml文档格式正确的有效方法。XSD:(XML Schemas Definition),描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查XML文档是否符合要求。要声明名称空间(xmlns=htt转载 2016-10-25 20:23:34 · 1778 阅读 · 0 评论 -
Spring init-method destroy-method
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和 destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean接口转载 2016-11-09 19:07:09 · 365 阅读 · 0 评论 -
Spring3.0.6定时任务task:scheduled
项目使用的spring版本比较旧是3.0.6版本,由于需要进行定时任务,就决定使用Spring自带的scheduled task。在网上找了很多文章,也查看了Spring3.0.6的官方文档,按照网上和文档所说,可以使用注解或者配置两种方法之一都行,但是我发现单独使用两种方法都不行,怎么配置任务都无法运行。最后看到一篇文章说两种方法同时用,才成功执行定时任务,可能是个Bug,我试了下,转载 2017-01-09 14:17:48 · 502 阅读 · 0 评论 -
Spring自带缓存配置及Ehcache缓存
spring自带缓存、自建缓存管理器等都可解决项目部分性能问题。结合Ehcache后性能更优,使用也比较简单。在进行Ehcache学习之前,最好对Spring自带的缓存管理有一个总体的认识。这篇文章不错:https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/这里用的是SpringMVC-3.2转载 2017-01-10 11:28:30 · 9629 阅读 · 0 评论 -
Spring restTemplate使用
最近看到spring RestTemplate,觉得挺好用的,就研究总结了一下,第一次写。。。 RestTemplate可使用http的所有方式进行请求,本文主要说明下get,post的使用,其他的基本类似。http get 方式spring RestTemplate中直接使用get方法有两种getForObject和getForEntitygetForObject每种方式都有3个重载方法T ge...原创 2018-03-07 10:27:14 · 1409 阅读 · 0 评论