日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring项目启动加载xml配置文件替换数据库提高响应速度

發(fā)布時間:2024/9/27 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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ù)即可

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--紐約交易所接口 保單查詢 --><bean id="beanId" class="com.gblfy.order.utils.WSContainer" scope="singleton"><constructor-arg value="http://192.168.0.27:8080/services/webservice?wsdl"/><constructor-arg value="NamespaceURI"/><constructor-arg value="Method"/><constructor-arg value="QUEUE_NAME"/><constructor-arg value="QUEUE_TYPE"/><constructor-arg value="QUEUE_DESC"/></bean> </beans>
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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。