一、普通類中獲取Spring容器中的Bean
如下方式是無效的:前端
AppConfig appConfig = ContextLoader.getCurrentWebApplicationContext().getBean(AppConfig.class);
可以使用下面的工具類來獲取:java
@Component public class SpringUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (SpringUtils.applicationContext == null) { SpringUtils.applicationContext = applicationContext; } } public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 經過name獲取 Bean. */ public static Object getBean(String name) { return getApplicationContext().getBean(name); } /** * 經過class獲取Bean. */ public static <T> T getBean(Class<T> clazz) { return getApplicationContext().getBean(clazz); } /** * 經過name,以及Clazz返回指定的Bean */ public static <T> T getBean(String name, Class<T> clazz) { return getApplicationContext().getBean(name, clazz); } }
示例:app
AppConfig appConfig = SpringUtils.getBean(AppConfig.class);
二、Spring Boot默認不支持帶.jsp後綴的URL
貌似.jspx也不能夠。jsp
三、服務端java的long類型序列化到前端後,可能會損失精度
有兩個解決辦法:ide
(一)序列化時把long轉換位String類型工具
(二)long類型的數值控制在15位之內spa
四、前端提交的時間戳數據,服務端用@RequestBody Map接收後,不能直接轉換爲Long類型
直接轉換爲Long類型可能會報錯code
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
正確的作法是:blog
Number birthDateTime = (Number) dataMap.get("birthDate"); Date birthDate = new Date(birthDateTime.longValue());