ContentNegotiatingViewResolver,这个视图解析器允许你用同样的内容数据来呈现不同的view.它支持如下面描述的三种方式: 1)使用扩展名http://localhost:8080/employees/nego/Jack.xml  返回结果为XMLhttp://localhost:8080/employees/nego/Jack.json 返回结果为JSONhttp://localhost:8080/employees/nego/Jack  使用默认view呈现,比如J…
spring mvc中的Interceptor可以理解为是Spring MVC框架对AOP的一种实现方式.一般简单的功能又是通用的,每个请求都要去处理的,比如判断token是否失效可以使用spring mvc的HanlderInterceptor, 复杂的,比如缓存,需要高度自定义的就用spring aop.一般来说service层更多用spring aop,controller层有必要用到request和response的时候,可以用拦截器. servlet filter和spring mvc…
前言 项目中我们经常需要对RESTful api进行拦截,主流实现方法有filter.interceptor.aop,先说一下他们各自的实现. Filter AnimalFilter实现javax.servlet.Filter,项目启动时已初始化完成,可在控制台看到打印的初始化日志. @Component    public class AnimalFilter implements Filter {             private Logger logger = LoggerFacto…
实际案例json <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <m…
View View接口表示一个响应给用户的视图,例如jsp文件,pdf文件,html文件等 该接口只有两个方法定义,分别表明该视图的ContentType和如何被渲染 Spring中提供了丰富的视图支持 ViewResolver ViewResolver接口定义了如何通过view 名称来解析对应View实例的行为,即:如何把控制器返回的“视图名 字符串” 解析为View实例,并渲染为HTML.PDF后推向浏览器 同样Spring提供了丰富的ViewResolver实现用来解析不同的View 创建…
package com.dxz.demo.configuration; import org.springframework.context.annotation.Configuration; @Configuration public class TestConfiguration { public TestConfiguration() { System.out.println("TestConfiguration容器启动初始化..."); } } APP 方法1 package…
使用@Component注解,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符.如果不指定标识符,默认为首字母小写类名.例如类UserController的标识符为userController…
Autowired @Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property.当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留. 这里@Autowired注解的意思就是,当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去. @Autowired(required = false) public class…
Spring  AOP那些学术概念—通知.增强处理连接点(JoinPoint)切面(Aspect)   1.我所知道的AOP 初看起来,上来就是一大堆的术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等.一下让你不知所措,心想着:管不得很多人都和我说AOP多难多难.当我看进去以后,我才行发现:他就是一些Java基础上的朴实无华的应用,包括IOC(见<Spring IOC(依赖注入.控制反转)概念理解>),包括许许多多这样的名词,都是万变不离其宗而已.   2.为什么要用A…
总结1: SCI:Servlet容器(Tomcat)提供的初始化Servlet容器本身的接口,可替换web.xml SpringSCI:SpringServletContainerInitializer,Srping提供的SCI的一个实现,起到中转桥接作用,桥接到 WebApplicationInitializer 接口上 WebApplicationInitializer :可以自定义配置servlet.listener,进而可以通过代码手动控制两个上下文的创建过程(参考:基于xml    …