背景:接触新项目中使用springboot
项目构建:
Spring Boot提供了许多开箱即用的依赖模块,这些模块都是以spring-boot-starter-XX命名的。好比要开启Spring Boot的web功能,只须要在pom.xml中配置spring-boot-starter-web便可web
相关配置
application.properties文件中配置,@Value("${属性名}")spring
@ConfigurationProperties(prefix="mrbird.blog") 配置对应bean,启动类中添加@EnableConfigurationProperties({ConfigBean.class})缓存
@ImportResource({"classpath:some-application.xml"}) xml配置springboot
Spring Boot中使用MyBatis
基于注解方式app
Springboot缓存:
配置
在pom中引入spring-boot-starter-cache异步
在Spring Boot入口类中加入@EnableCaching注解开启缓存功能spring-boot
@CacheConfig 配置在类中url
@Cacheable 主要用于查询spa
@CachePut 主要用于数据新增和修改操做上
@CacheEvict 一般用在删除方法上
缓存实现
Generic,JCache (JSR-107),EhCache 2.x,Hazelcast,Infinispan,Redis,Guava,Simple
Json注解:
@JsonProperty:指定一个别名
@Jsonlgnore:做用在属性上,用来忽略此属性
@JsonIgnoreProperties,忽略一组属性,做用于类上
@JsonFormat,用于日期格式化
@JsonNaming,用于指定一个命名策略
@JsonSerialize,指定一个实现类来自定义序列化
@JsonDeserialize,用户自定义反序列化
@JsonView,做用在类或者属性上,用来定义一个序列化组
Spring Boot拦截器,过滤器
过滤器
一、实现javax.servlet.Filter,@WebFilter注解
二、定义一个WebConfig类,加上@Configuration注解代表其为配置类,而后经过FilterRegistrationBean来注册过滤器
拦截器
实现org.springframework.web.servlet.HandlerInterceptor接口
在拦截器类上加入@Component注解;
在WebConfig中经过InterceptorRegistry注册过滤器:
Spring Boot配合Hibernate Validator参数校验
方法参数校验
使用实体传参
异步方法
异步方法
首先得在Spring Boot入口类上加上@EnableAsync注解
在方法上加上@Async注解
异步线程池
经过ThreadPoolTaskExecutor的一些方法自定义了一个线程池
须要在@Async注解上指定线程池Bean名称便可
dubbo集成
我的感想:springboot并无想象中那么神秘,在之前项目中也有好多使用的地方,只是本身没有注意发现。
优势:开箱即用,配置灵活,代码风格简约。缺点:对于新手理解源码难一些。