項(xiàng)目基礎(chǔ)結(jié)構(gòu)(項(xiàng)目地址 :https://github.com/luocaca/models.git)

--

開局一張圖。內(nèi)容全靠編,bug全靠踩...
1.最原始spring boot 項(xiàng)目結(jié)構(gòu)。如下

? 現(xiàn)需要將commom ? entity ?mapper ?service 抽出來,成立單獨(dú) 的model
? 抽出model 格式如下 (刪除api內(nèi) commom ? entity ?mapper ?service包 )
?新建 ??commom ? entity ?mapper ?service 4大model

?api 依賴 4大model?

拆分后第一個(gè)問題

來來來。運(yùn)行一下,看下會爆什么錯(cuò)。別他坑一波。肯定要看清楚(找不到類)
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'otherservice.PersonService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

-解決方法
在 model-service.src.main.java 下面新建 me.luocaca.model.service包,然后把PersonService拖過去


修改后,重新運(yùn)行 ,ok

訪問一下

數(shù)據(jù)庫長這樣,需要自己建一張

2.接下來介紹一下打包流程,以及將
打包結(jié)構(gòu)要從最底層開始打包
也就是依賴關(guān)系反過來一個(gè)一個(gè)model進(jìn)行打包
本項(xiàng)目依賴關(guān)系梳理一下(models為最上層 ?打包方式為 pom )
由于本項(xiàng)目由2個(gè)可獨(dú)立打包運(yùn)行的web項(xiàng)目(api +web)?
+
?多個(gè)依賴(service mapper entity commom)項(xiàng)目組成
讓我們簡單粗暴的看一下依賴關(guān)系(一圖堪比千言萬語)

看清楚沒有?
依賴關(guān)系
api ?—> ?service? —> ?mapper(dao)? —> entity? —> ?commom( 最底層,不依賴上層 )?
打包流程
commom?—>entity??—> mapper(dao)? —>?service??—>?api??
先簡單說明一下 什么是打包,再來說為什么要反著打包,

install之后看看效果(找到maven倉庫,看看文件結(jié)構(gòu))

可以看出,maven 打包的時(shí)候,會將第三方model 全部導(dǎo)入到j(luò)ar包,而第三方的庫都是網(wǎng)上下載到repository ,然后從倉庫
中找到 .jar ?.pom ?.war ?各種項(xiàng)目包,拷貝到 自己項(xiàng)目的 ?exec.jar 包里面,
→_→ 讓我們看一下對比一下.jar 與 ?exec.jar的結(jié)構(gòu)圖?


看明白沒。哈哈。exec.jar里面很多jar包。

這里因?yàn)槲乙呀?jīng)打包過 commom ?entity ?mapper service 4個(gè)庫,并且install 到maven 倉庫,api才能被打包成功?
現(xiàn)在可以解釋什么叫方向打包。從最底層,打包完整之后。再打包上層 model?
打包流程
commom?—>entity??—> mapper(dao)? —>?service??—>?api??
假如 service?沒有 ? package + install ?直接 ?pai 進(jìn)行 package +install ,會出現(xiàn) 找不到 model-service.0.0.1-SNAPSHOT.jar?
因?yàn)樵谖覀冃陆ㄒ粋€(gè)model 的時(shí)候。maven里面是沒有我們 service的包的。只有打包 并 install 之后,model-service.0.0.1-SNAPSHOT.jar 包


其他 mapper entity commom 同理。。。。。。。。。自己體會。先這樣。。。。。不說了。下次說說jsp ,很多細(xì)節(jié)bug。要點(diǎn)出。
大神勿噴。
項(xiàng)目地址:https://github.com/luocaca/models.git
應(yīng)為篇幅原因,這里主要講api項(xiàng)目創(chuàng)建到打包發(fā)布過程,等下會在獨(dú)立一批文章,記錄web項(xiàng)目引入jsp與打包發(fā)布流程的采坑過程。