背景:接觸新項目中使用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並無想象中那麼神祕,在之前項目中也有好多使用的地方,只是本身沒有注意發現。
優勢:開箱即用,配置靈活,代碼風格簡約。缺點:對於新手理解源碼難一些。