本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
paulwong - fantaxy025025
- johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- gengyun12
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- zxq_2017
- nychen2000
- lzyfn123
- forestqqqq
- wjianwei666
- 龙儿筝
- ajinn
- siemens800
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
企业架构专栏最新文章
10点睛Spring MVC4.1-全局异常处理
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
09点睛Spring MVC4.1-异步请求处理(包含兼容浏览器的服务器端推送)
9.1 异步请求处理
Servlet 3开始支持异步请求处理
Spring MVC 3.2开始支持Servlet3的这项特性
controller可以从另外一个线程返回一个java.util.concurrent.Callable,而不是一个简单的值
此时Servlet容器线程已经释放,可以处理其他的请求
Spring MVC通过借助TaskExecutor调起另外一个线程(例子中 ...
08点睛Spring MVC4.1-Spring MVC的配置(含自定义HttpMessageConverter)
8.1 配置
Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的;
前几个教程已做了得配置包括
01点睛Spring MVC 4.1-搭建环境 配置viewResolver
03点睛Spring MVC 4.1-REST 静态资源映射
04点睛Spring MVC 4.1-拦截器 配置拦截器
06点睛Spring MVC ...
07点睛Spring MVC4.1-ContentNegotiatingViewResolver
7.1 ContentNegotiatingViewResolver
ContentNegotiatingViewResolver支持在Spring MVC下输出不同的格式;
ContentNegotiatingViewResolver是ViewResolver的一个实现;
ContentNegotiatingViewResolver使用request的媒体类型,根据扩展名选择不同的vi ...
06点睛Spring MVC 4.1-文件上传
6.1 文件上传
在控制器参数使用@RequestParam("file") MultipartFile file接受单个文件上传;
在控制器参数使用@RequestParam("file") MultipartFile[] files接受多个文件上传;
通过配置MultipartResolver来配置文件上传的一些属性;
6.2 示例
...
05点睛Spring MVC 4.1-服务器端推送
5.1 服务器端推送
SSE(server send event)是一种服务器端向浏览器推送消息的技术,而不是我们常规的浏览器像server请求然后响应;
当我们需要使用server向浏览器主动推送数据的时候,请考虑使用该项技术,而不是考虑具有双向通讯功能的websocket;
以前我们用ajax轮询server也能实现,服务器负担大;
sse原理是向server请求一次后,serve ...
04点睛Spring MVC 4.1-拦截器
4.1 拦截器
拦截器实现了对每一个请求处理之前和之后进行相关的处理,类似于Servlet的filter;
可以实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类;
继承HandlerInterceptorAdapter类,因为使用接口要实现接口的所有方法;
4.2 示例
新建拦截器
package com.wise ...
03点睛Spring MVC 4.1-REST
3.1 REST
REST:Representational State Transfer;
REST是一种数据导向web service,相对于SOAP是一种操作操作和处理导向的web service;
Spring为对REST的支持提供了@RestController;
在没有@RestController可以通过@Controller,@ResponseBody组合实现REST ...
02点睛Spring MVC 4.1-@RequestMapping
2.1 @RequestMapping
@RequestMapping是SpringMVC的核心注解,负责访问的url与调用方法之间的映射;
@RequestMapping可以放在类和方法上;
@RequestMapping的属性produces属性控制response返回的形式;
@RequestMapping的属性method属性控制接受访问的类型,不写不做限制,本例为演示方 ...
01点睛Spring MVC 4.1-搭建环境
1.1 简单示例
通篇使用java config
@Controller声明bean是一个控制器
@RequestMapping访问路径和方法之间的映射
1.2 演示
1.2.1 新建maven web项目
新建项目
19点睛Spring4.1-GroovyDSL
19.1 Groovy DSL
Spring 4.x的一个新特性是使用Groovy的语言来配置Spring的bean;
这意味着我们构造一个spring的bean又多了一种方式,包括如下:
xml配置
java config(@Bean)
@Component,@Service,@Repository,@Controller系列
Groovy DSL
19.2 示例
...
18点睛Spring4.1-Meta Annotation
18.1 Meta Annotation
元注解:顾名思义,就是注解的注解
当我们某几个注解要在多个地方重复使用的时候,写起来比较麻烦,定义一个元注解可以包含多个注解的含义,从而简化代码
下面我们用<<02点睛Spring4.1-Java Config>>里的源码进行元注解的改造
18.2 示例
18.2.1 spring注解分析
我们看看spring ...
17点睛Spring4.1-@Conditional
17.1 @Conditional
@Conditional为按照条件配置spring的bean提供了支持,即满足某种条件下,怎么配置对应的bean;
应用场景
当某一个jar包在classpath中的时候,配置某几个bean;
当某一个bean配置好后,会自动配置一个特定的bean;
当某种环境变量被设置后,创建某个bean;
@Conditional为敏捷开发所提倡的原 ...
16点睛Spring4.1-TaskScheduler
16.1 TaskScheduler
提供对计划任务提供支持;
使用@EnableScheduling开启计划任务支持
使用@Scheduled来注解计划任务的方法;
16.2 示例
演示后台间断执行任务和定时计划任务
16.2.1 计划任务的配置
@Configurat
15点睛Spring4.1-TaskExecutor
15.1 TaskExecutor
spring的TaskExecutor为在spring环境下进行并发的多线程编程提供了支持;
使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor;
使用@EnableAsync开启异步任务支持;
使用@Async注解方法是异步方法;
15.2 示例
15.2.1 声明taskExecutor
...
14点睛Spring4.1-脚本编程
14.1 Scripting脚本编程
脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行;
如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦;
如果我们的应用不允许重启,这在现实的情况中也是很常见的;
在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean;
spring支持脚本语言包含J ...
13点睛Spring4.1-Spring EL
13.1 Spring EL
Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似jsp的EL表达式语言;
本教程关注于在注解中使用Spring EL;
Spring EL包含很多类型的表达式,本教程关注常用的注入
获得系统属性
注入表达式
注入文件
注入其他bean或者其属性
注入properties文件属性
注入普通字符
13.2 ...
12点睛Spring4.1-Spring Aware
12.1 Aware
我们设计的准则是解耦,这就意味着我们不能对Spring的IoC容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源;
使用aware能让我们在应用的任意位置获得spring容器的资源;
我们通过实现aware接口来识别spring容器的资源;
Spring包含的aware有:
BeanNameAware
BeanFactoryAware
Appl ...
11点睛Spring4.1-Property Editor
11.1 Propert Editor
property editor是JavaBeans API的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和Date类型的互相转换)
spring内置了CustomDateEditor, CustomNumberEditor, ClassEditor, FileEditor, LocaleEditor, StringArrayPro ...
企业架构热门文章
博客专栏评论
只有@AspectJ支持命名切入点,而Schema风格不支持命名切入点。有一个问题不太明白Schema ...
dagger9527 评论了 【第六章】 AOP 之 6.5 AspectJ切入点语法 ...
dagger9527 评论了 【第六章】 AOP 之 6.5 AspectJ切入点语法 ...