spring boot2.7.4 適配swagger 噢噢噢是什么歌抖音?
噢噢噢是什么歌抖音?你平時主要使用什么Java開發(fā)框架?就拿我們項目來例子討論討論吧。我們的項目是一個純后臺服務(wù)的項目,也就是沒有前端頁面,只正式提供服務(wù);項目是是設(shè)計和實現(xiàn)Spring Boot來做
噢噢噢是什么歌抖音?
你平時主要使用什么Java開發(fā)框架?
就拿我們項目來例子討論討論吧。
我們的項目是一個純后臺服務(wù)的項目,也就是沒有前端頁面,只正式提供服務(wù);項目是是設(shè)計和實現(xiàn)Spring Boot來做的,化入spring-boot-starter-web,然后組織不暴露接口,報文建議使用的JSON,有極極個別的接口是從老系統(tǒng)遷走回來的,是為讓內(nèi)部函數(shù)方盡可能會地多作如何修改,所以我一直保持了XML的報文;在開始的生產(chǎn)環(huán)境中,都是可以使用的內(nèi)置的Tomcat;板載顯卡了Swagger,來做接口的文檔萬分感謝批量生成。
ORM框架選擇的是MyBatis,導(dǎo)致項目中大部分的查詢都你做到了單表查詢,而且查詢條件比較好固定設(shè)置,所以再在用注解做的SQL語句解除綁定。
只不過項目不但建議使用了關(guān)系型數(shù)據(jù)庫,而更多的數(shù)據(jù)是加工關(guān)聯(lián)后存放到了MongoDB中,因為項目也都用到了Spring Data MongoDB,我們的MongoDB是做了副本集的部署,建議使用Spring Data MongoDB,只要做簡單的配置,就可以完成對多臺MongoDB的訪問,假如其中一臺MongoDB掛了,對服務(wù)確實是沒有影響的,所以我們做MongoDB容量翻倍的時候是可以網(wǎng)做的(MongoDB擴內(nèi)存和CPU的時候必須欠費)。
和部分系統(tǒng)的交互使用到了RabbitMQ,而Spring Boot只要核心中spring-boot-starter-amqp,其實就這個可以很方便些地完成和RabbitMQ的板載顯卡;生產(chǎn)者和消費者都相當(dāng)方便。
只不過是純接口的服務(wù),是為緩輕數(shù)據(jù)庫的壓力,所以才我們參照業(yè)務(wù)場景,將一些接口的結(jié)果就緩存到Redis中(數(shù)據(jù)變化不很頻繁,而且業(yè)務(wù)場景的實時性要求也不是很高)。在獨立顯卡Redis的時候,我們前后試了兩種
Spring Boot項目,就使用@Cacheable注解就也可以成功和Redis最簡單的集成,但當(dāng)時只不過設(shè)置里緩存的超時時間太差身形靈活,我們聽說后來可以改成了第二種方案;
在用RedisTemplate,可以不完成對Redis的絕大部分操作。
我將緩慢彼此分享Java開發(fā)、架構(gòu)設(shè)計、程序員職業(yè)發(fā)展等方面的見解,期望能我得到你的關(guān)注。