當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring项目启动加载xml配置文件替换数据库提高响应速度
生活随笔
收集整理的這篇文章主要介紹了
Spring项目启动加载xml配置文件替换数据库提高响应速度
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. pom依賴
- 2. xml配置文件
- 3. 獲取參數(shù)工具類
- 4. 根據(jù)beanId從SpringBootIOC獲取類實(shí)例工具類
- 5. 測試類
- 6. 瀏覽器+控制臺驗(yàn)證
1. pom依賴
<properties><!--全局版本控制--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>4.3.10.RELEASE</spring.version><lombok.version>1.18.8</lombok.version></properties><!-- Spring MVC support Start--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.2.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!-- Spring MVC support End-->2. xml配置文件
applicationContext-wscontainer.xml
web.xml中記得寫上,通配符*.xml可跳過
這里面constructor-arg標(biāo)簽就是參數(shù),根據(jù)需要定義需要的參數(shù)即可
3. 獲取參數(shù)工具類
package com.gblfy.order.utils;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;@Data @AllArgsConstructor @NoArgsConstructor public class WSContainer {private String url;//請求地址private String namespaceURI;//方法的命名空間private String method;//調(diào)用的方法private String queueName; //隊(duì)列名稱private String queueType;//隊(duì)列類型private String queueDesc;//隊(duì)列描述 }4. 根據(jù)beanId從SpringBootIOC獲取類實(shí)例工具類
SpringContextUtils
package com.gblfy.order.utils;import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component;/*** @author gblfy 2020-04-29* @apiNote spring上下文工具類,用于普通類調(diào)用springIOC中的對象*/ @Component public class SpringContextUtils implements ApplicationContextAware {private static ApplicationContext applicationContext = null;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if (SpringContextUtils.applicationContext == null) {SpringContextUtils.applicationContext = applicationContext;}}/*** @apiNote 獲取applicationContext*/public static ApplicationContext getApplicationContext() {return applicationContext;}/*** @apiNote 通過name獲取 Bean.*/public static Object getBean(String beanId) {return getApplicationContext().getBean(beanId);}/*** @apiNote 通過class獲取Bean.*/public static <T> T getBean(Class<T> clazz) {return getApplicationContext().getBean(clazz);}/*** @apiNote 通過name, 以及Clazz返回指定的Bean*/public static <T> T getBean(String name, Class<T> clazz) {return getApplicationContext().getBean(name, clazz);} }5. 測試類
package com.gblfy.order.controller;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.gblfy.order.confirm.ConfirmCallBackListener; import com.gblfy.order.utils.SpringContextUtils; import com.gblfy.order.utils.WSContainer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;/*** 項(xiàng)目啟動,將接口配置文件加載到spring的IOC容器中,* 通過接口的BeanId從配置文件中獲取指定接口的信息配置參數(shù)*/ @Controller public class WSContainerController {//日志輸出private final static Logger log = LoggerFactory.getLogger(ConfirmCallBackListener.class);//引入json工具類private static final ObjectMapper MAPPER = new ObjectMapper();@RequestMapping("/getWSParams")@ResponseBodypublic String getWSParams() throws JsonProcessingException {//這個beanId 建議是接口名 能夠標(biāo)識區(qū)分是哪一支接口String serviceBeanId = "beanId";/*** 1.在xml文件中聲明接口的beanId* 2.把需要的參數(shù)配置到xml文件中* 3.通過接口的beanId獲取指定接口的配置信息*/WSContainer wsContainer = (WSContainer) SpringContextUtils.getBean(serviceBeanId);log.info("接收請求的Url : {}", wsContainer.getUrl());log.info("接收請求的命名空間: {}", wsContainer.getNamespaceURI());log.info("接收請求的方法名稱: {}", wsContainer.getMethod());log.info("接收請求的隊(duì)列名稱: {}", wsContainer.getQueueName());log.info("接收請求的隊(duì)列類型: {}", wsContainer.getQueueType());log.info("接收請求的隊(duì)列描述: {}", wsContainer.getQueueDesc()); // Gson gson= new Gson();//把對象轉(zhuǎn)換成 jsonStr 類型便與解析return MAPPER.writeValueAsString(wsContainer);} }6. 瀏覽器+控制臺驗(yàn)證
總結(jié)
以上是生活随笔為你收集整理的Spring项目启动加载xml配置文件替换数据库提高响应速度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot2.x整合quart
- 下一篇: Springboot2.x +JPA 集