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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring Boot 如何快速改造老项目?

發(fā)布時(shí)間:2025/3/21 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 如何快速改造老项目? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 前言碎語

博主公司一個(gè)項(xiàng)目在開發(fā)中使用某些功能的時(shí)候,受限于spring低版本的限制,故索性將整個(gè)模塊升級(jí)為spring boot,在這里做個(gè)記錄,希望能幫助到有相同場(chǎng)景的朋友。

整個(gè)改造過程非常簡(jiǎn)單,耗時(shí)大概在2個(gè)小時(shí)左右,主要解決項(xiàng)目中的各種版本沖突,不過下面我會(huì)介紹一個(gè)神器。

2 老項(xiàng)目情況

1.項(xiàng)目使用spring-context作為容器,使用RabbitMQ提供RPC服務(wù)

2.spring.springframework 版本比較低,3.1.x的版本,升級(jí)后會(huì)變成4.3.x

3.項(xiàng)目使用maven構(gòu)建

以上是項(xiàng)目的基本情況,針對(duì)如上情況,下面會(huì)詳細(xì)描述改造過程中需要的關(guān)注點(diǎn)。

第一步:添加spring boot依賴

<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.7.RELEASE</version><scope>import</scope><type>pom</type></dependency></dependencies> </dependencyManagement> <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> </dependencies>

第二步:新增spring boot啟動(dòng)類,加載原先的xml配置

/** * Created by kl on 2018/1/29. * Content :Lbt-service-ext服務(wù)啟動(dòng)器 */@SpringBootApplication(exclude = {RabbitAutoConfiguration.class})@ImportResource("service-context.xml")publicclassLbtServiceExtApplication{ publicstaticvoid main(String[] args) {SpringApplication application= newSpringApplication(LbtServiceExtApplication.class);application.setWebEnvironment(false);application.run(args); }}

注意的地方:

1.排除了RabbitMQ的自動(dòng)裝載了,因?yàn)樵趚ml中已經(jīng)配置過了RabbitMQ的相關(guān)連接和服務(wù)信息了

2.設(shè)置了setWebEnvironment(false),標(biāo)記項(xiàng)目為非web項(xiàng)目,因?yàn)橹皇翘峁㏑PC服務(wù),所以不需要servlet容器。

第三步:嘗試啟動(dòng),排除jar沖突

這個(gè)時(shí)候可以啟動(dòng)main方法,看看能否啟動(dòng)了,一般情況下沒那么容易就能啟動(dòng)起來,會(huì)有各種的jar沖突。我們項(xiàng)目從3.x到4.x,更是各種沖突。

下面介紹一個(gè)插件,破除jar沖突排除的煩惱,前提是在IDEA下開發(fā),eclipse應(yīng)該也有類似的。

插件名字:Maven Helper
可以代替mvn dependency:tree命令的使用了,這個(gè)插件可以更直觀的列出項(xiàng)目依賴的jar,非常牛逼的是可以直接列出項(xiàng)目中有沖突的jar,這對(duì)找jar沖突非常有用,而且可以直接右鍵排除掉。

jar相關(guān)異常識(shí)別技巧:

出現(xiàn)NoSuchMethodError:一般都是jar沖突了

出現(xiàn)ClassNotFoundException:缺少相關(guān)的jar了

三步做完后,項(xiàng)目妥妥的跑起來了。

3 Spring Boot怎么識(shí)別web項(xiàng)目

1.spring boot會(huì)識(shí)別項(xiàng)目是否是web項(xiàng)目,如果識(shí)別到事web項(xiàng)目,又沒有添加tomcat等容器jar,就拋異常。

2.識(shí)別的方式就是看項(xiàng)目是否依賴了servlet-api和spring-web。而我們項(xiàng)目需要spring-web相關(guān)如el等功能又不需要tomcat容器,所以可以指定為非web項(xiàng)目。

3.排除掉tomcat后,項(xiàng)目jar體積和運(yùn)行時(shí)內(nèi)存占用都有很大的改善。

來源:KL博客

http://www.kailing.pub/article/index/arcid/188.html

總結(jié)

以上是生活随笔為你收集整理的Spring Boot 如何快速改造老项目?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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