本月博客排行
-
第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
开源软件专栏最新文章
Spring Aop(四)——基于Aspectj注解的Advice介绍
4 基于Aspectj注解的Advice介绍
之前介绍过,Advice一共有五种类型,分别是before、after return、after throwing、after(finally)和around。在使用注解的时候,它们对应的注解分别是@Before、@AfterReturning、@AfterThrowing、@After和@Around。 这几个注解都是在org.aspectj.la ...
Spring Aop(三)——Pointcut表达式介绍
3 Pointcut表达式介绍
3.1 表达式类型
标准的Aspectj Aop的pointcut的表达式类型是很丰富的,但是Spring Aop只支持其中的9种,外加Spring Aop自己扩充的一种一共是10种类型的表达式,分别如下。
execution:一般用于指定方法的执行,用的最多。
within:指定某些类型的全部方法执行,也可用来指定一个包。
this:Spring A ...
Spring Aop(二)——基于Aspectj注解的Spring Aop简单实现
2 基于Aspectj注解的Spring Aop简单实现
Spring Aop是基于Aop框架Aspectj实现的,它不是完完全全的对Aspectj框架进行扩展和改造,而是利用Aspectj里面的一些功能来实现自己的Aop框架,其中就包括对Aspectj提供的注解的解析。之前已经提过Spring Aop和Aspectj实现的Aop之间的差别,这里就不再赘述。本文主要描述的是如何利用Aspectj ...
推荐一款Mybatis分页插件
推荐一款Mybatis分页插件
以前也写过一篇博文介绍Mybatis的插件,以及如何通过Mybatis的插件功能实现一个自定义的分页插件,但是那个插件的侵入性是比较大的。前段时间遇到了一款开源的Mybatis分页插件,叫PageHelper,github地址是https://github.com/pagehelper/Mybatis-PageHelper,其原理是通过ThreadLocal来存放 ...
Spring Boot 入门 - 进阶篇(8)- 应用监控(Actuator)
作为Spring Boot的另外一大亮点,就是actuator模块,它是Spring Boot Starter中的一个特殊模块,用于集中采集应用的各项指标信息。
(1)开启监控
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spr ...
Spring Boot 入门 - 进阶篇(7)- 自动配置(AutoConfigure)
自动配置是Spring Boot的最大亮点,完美的展示了CoC约定由于配置。Spring Boot能自动配置Spring各种子项目(Spring MVC, Spring Security, Spring Data, Spring Cloud, Spring Integration, Spring Batch等)以及第三方开源框架所需要定义的各种Bean。
Spring Boot内部定义了各种各样的 ...
Spring Boot 入门 - 进阶篇(6)- 启动加载(CommandLineRunner)
启动成功后可以通过以下方法运行自己的初始代码:
@PostConstruct注解
ApplicationReadyEvent事件
CommandLineRunner/ApplicationRunner接口
@Component
public class StartUpInit {
@Autowired
private SomeService service;
@Post ...
Spring Boot 入门 - 进阶篇(5)- 数据缓存(@Cacheable)
缓存可以缓解数据库访问的压力,Spring自身不提供缓存的存储实现,需要借助第三方,比如JCache、EhCache、Hazelcast、Redis、Guava等。Spring Boot可以自动化配 ...
Spring Boot 入门 - 进阶篇(4)- REST访问(RestTemplate)
经常需要发送一个GET/POST请求到其他系统(REST API),通过JDK自带的HttpURLConnection、Apache HttpClient、Netty 4、OkHTTP 2/3都可以实现。
HttpClient的使用:http://rensanning.iteye.com/blog/1550436
Spring的RestTemplate封装了这些库的实现,使用起来更简洁。
Re ...
Spring Boot 入门 - 进阶篇(3)- 定时任务(@Scheduled)
主要用于定时发送邮件、夜间自动维护等。
(1)开启定时任务功能
@Configuration
@EnableScheduling
public class SpringTaskScheduleConfig {
@Bean
public TaskScheduler poolScheduler() {
ThreadPoolTaskScheduler sched ...
Spring Boot 入门 - 进阶篇(2)- 异步调用(@Async)
异步处理
Java的异步处理Thread/Runnable、Callable/Future
Servlet 2.5的异步处理 Tomcat的CometProcessor、Jetty的Continuations
Servlet 3.0的异步处理 asyncSupported、AsyncContext
Spring MVC的异步处理 @Async、AsyncTaskExecutor
Spring MV ...
Spring Boot 入门 - 进阶篇(1)- Servlet、Filter、Listener、Interceptor
用户认证授权、日志记录MDC、编码解码、UA检查、多端对应等都需要通过拦截请求来共通处理,这时就需要Filter、Listener、Interceptor。而把非Spring Boot项目转换成Spring Boot项目需要沿用以前的这些代码,所以有必要了解这几个东西的用法。
通常来说,用户通过浏览器发起Request进入服务器后侧处理顺序如下:
引用Client -> Listener - ...
Spring Boot 入门 - 基础篇(15)- 工程部署
(1)开发阶段
一般开发过程:
1)-写代码
2)- [Run As]→[Spring Boot App]启动服务
3)-页面确认
4)-修改代码
5)-通过控制台停止服务
6)- [Run As]→[Spring Boot App]再启动服务
7)-循环3)
这样重复的停止再启动服务是麻烦的。通过 Spring Loaded 或 SpringBoot Dev Tools 都可以实现热部署,无需 ...
Spring Boot 入门 - 基础篇(14)- 参数设置
(1)读取优先顺序
a - 命令行参数 --key=value
引用$ mvn spring-boot:run -Drun.arguments="--server.port=9090,--server.context-path=/test"
$ java -jar target/xxx.jar --server.port=9090 --server.context-path= ...
Spring Boot 入门 - 基础篇(13)- 异常处理
先要了解Spring的异常处理:http://rensanning.iteye.com/blog/2355214
(1)Spring Boot默认开启异常应答
-浏览器访问(Accept: text/html),返回“Whitelabel Error Page”错误页面
-浏览器以外访问返回JSON串:
{"timestamp":1487060396727,"stat ...
Spring Boot 入门 - 基础篇(12)- 数据校验
除过在客户端做JavaScript数据校验外,服务器端做数据校验是很有必要的。Spring提供数据校验,SpringBoot工程里使用没有多大变化。
数据校验分为两种:
单字段校验(比如:非空、长度、大小等),Java的标准Bean Validation(内部实现是Hibernate Validator)
关系多字段校验(比如:时间期间、密码的两次输入等),Spring 的 org.springf ...
开源软件热门文章
博客专栏评论
线上demo已经上线http://www.sparrowzoo.net/examples/markdo ...
zh_harry 评论了 高性能轻量级markdown 解析器java 版spar ...
zh_harry 评论了 高性能轻量级markdown 解析器java 版spar ...