SpringBoot--配置fastjson(日期格式轉化)和熱部署
阿新 • • 發佈:2018-12-31
one.如何配置fastjson
第一種方法:
1.啟動類繼承extends WebMvcConfigurerAdapter
2.覆蓋方法configureMessageConverters
第二種方法注入bean
/** * springboot啟動類 使用@SpringBootApplication指定這是一個Spring Boot應用程式 * 能夠啟動的類,同包下和當前路徑的子包 * 系統名稱: * 概要說明: * @author dq(hasee) * @since 2017年2月23日 */ @SpringBootApplication public class ApplicationFastJson extends WebMvcConfigurerAdapter{ @Override public void configureMessageConverters( List<HttpMessageConverter<?>> converters) { super.configureMessageConverters(converters); /** * 1.需要定義一個convert轉換訊息的物件 * 2.建立配置資訊,加入配置資訊:比如是否需要格式化返回的json * 3.converter中新增配置資訊 * 4.convert新增到converters當中 */ FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat ); fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig); converters.add(fastJsonHttpMessageConverter); } /* @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); }*/ public static void main(String[] args) { /* * 在main方法中啟動程式 */ SpringApplication.run(ApplicationFastJson.class, args); } }
使用fastjson可以使用一些方便的功能
日期格式轉化為
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date date;
不序列化頁面不顯示屬性
@JSONField(serialize=false)
private String notSerilized;
two:熱部署
兩種啟動方式<!-- SpringLoader plugin --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin </artifactId> <dependencies> <!--springloaded hot deploy --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.4.RELEASE</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions> </plugin> </plugins> </build>
1.run maven build goals 鍵入 spring-boot:run
問題 關閉程序但是不會真正關閉,需要工作管理員關閉
2.如果使用的run as – java application的話,那麼還需要做一些處理。
把spring-loader-1.2.4.RELEASE.jar下載下來,放到專案的lib目錄中,然後把IDEA的run引數裡VM引數設定為:
-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify
然後啟動就可以了,這樣在run as的時候,也能進行熱部署
帶改變方法熱部署
使用devTool:原理,使用了兩個classLoader,一個載入不會改變的類,另一個載入會改變的類(restart classloader),所以載入的類少,實現較快的重啟時間
修改類 儲存 重啟
修改配置檔案 儲存 重啟
修改頁面 儲存 重啟 頁面會重新整理
注意 project build automatically必須勾選上