整合 vue項目中直接運行npm run build. 在生成的dist目錄下的文件全部拷貝到springboot項目資源目錄下的static文件夾下玉锌。
一:vue
文檔:https://cn.vuejs.org/v2/guide/index.html
總結(jié)一下常用的一些東西, vue使用腳手架自動生成項目結(jié)構(gòu)
項目結(jié)構(gòu)是這樣:
1.vue實現(xiàn)全選
1??單選:
input標簽:其中sceneCheckData在data中定義:sceneCheckedData=[]
每次點擊的時候會將綁定的scene.id加入到sceneCheckData中,再次點擊會將scene.id從sceneCheckedData中移除
說明:v-if是控制其是否顯示翔横,這里不用管缅刽,主要是自己的業(yè)務中需要才這么做的啊掏;現(xiàn)在自己的業(yè)務中由于一個場景可能含有多條用例,需要實現(xiàn)只有場景中的第一個用例才顯示場景名衰猛。
2??全選:
全選按鈕:
method中的方法為checkAll:
邏輯是:判斷全選的按鈕是否勾選迟蜜,如果是,將當前的checkbox全部勾選啡省,如果是取消全選娜睛,將sceneCheckData清空
注意:有這樣的情景,當前選擇全選按鈕卦睹,如果再增加一個場景的話畦戒,全選按鈕還是被選中,所以需要監(jiān)聽當前場景结序,保證在增加場景的時候去掉全選按鈕狀態(tài):
監(jiān)聽在watch中實現(xiàn):
二:vue激活狀態(tài)跟隨選中標簽
如果點擊選擇標簽障斋,method中的chooseTag方法會將activeTag設置為當前標簽的名字;activeTag在script下的data中。
三:vue中路由的使用
將路由信息寫入一個配置文件:如:
其中path:代表訪問路徑垃环;name:這個路徑的名字(后面用到), componet:是那個組建
1??在main.js中引入路由和路由配置文件:import VueRouterfrom 'vue-router'邀层;import {routes} from './router/routing';
//使用路由
Vue.use(VueRouter)
然后在new vue中引入router
使用:
to:代表點擊這個標簽的時候走的是那個路由
全局路由:比如控制沒有登陸的用戶跳轉(zhuǎn)到登陸頁面
四遂庄,vue中狀態(tài)管理
Vuex采用和Redux類似的單向數(shù)據(jù)流的方式來管理數(shù)據(jù)寥院。用戶界面負責觸發(fā)動作(Action)進而改變對應狀態(tài)(State),從而反映到視圖(View)上涛目。如下圖所示:
main.js中引入:import Vuexfrom 'vuex'
?Vue.use(Vuex);
將狀態(tài)配置寫入一個文件:
比如是文件aa. 引入配置文件import {store}from 'aa'
new vue中加入
State負責存儲整個應用的狀態(tài)數(shù)據(jù)只磷;使用this.$store.state直接獲取狀態(tài)
mutations更改狀態(tài):this.$store.commit("xxx")
actions也可更改狀態(tài),通過觸發(fā)mutations實現(xiàn)泌绣,可以觸發(fā)異步操作,this.$store.dispatch("xxx")
getters獲取狀態(tài):this.$store.getters.xxx;
五:axios:
? ? ? ? axios并不是vue插件预厌,所以不能使用Vue.use()阿迈,所以只能在每個需要發(fā)送請求的組件中即時引入。為了解決這個問題轧叽,可以在引入 axios 之后苗沧,通過修改原型鏈,來更方便的使用炭晒。
main.js中引入:import axios from 'axios'待逞; 使用原型:Vue.prototype.axios = axios
設置默認url:axios.defaults.baseURL ="http://" + hostName;
設置攜帶cookie:axios.defaults.withCredentials =true;
get請求: ?axios({
url:"/get",
method:"get",
params:{
key1:value1});
post請求:axios({
url:"/post",
method:"post",
data:{
xxx}
});
例子:
springboot
一:mybatis三劍客
1??自動生成數(shù)據(jù)庫表和類的映射,生成mapper文件网严,生成xml文件
pom文件中引入包:
自動下載好jar包后识樱,idea中會有相應的插件
在資源文件下建立文件:generatorConfig.xml
內(nèi)容為:https://pan.baidu.com/s/1MHS_qKyqy0ir_zNzNDy7FA
配置好相應路徑后,直接用行即可震束,會自動生成基礎的增刪改查語句
2??代碼跳轉(zhuǎn)工具 idea中plugins中搜索mybatis
點擊前面的箭頭會跳到相應的xml文件處或者mapper處
3??mybatis分頁插件
使用:PageHelper.startPage(pageNum, defaultPageSize);第一個參數(shù)是頁數(shù)怜庸,開始是第一頁
二:重新實現(xiàn)quartz定時任務
1??自定義一個注解:
2??定義一個基礎父類
3??自定義任務只需實現(xiàn)Custom,并使用@JobConfig注解垢村,重寫execute方法
4??定義任務管理類
5??實現(xiàn)ApplicationContextAware 容器啟動時加載任務類并啟動
6??啟動應用:
三:重新實現(xiàn)shiro安全框架
1??將用戶認證信息session保存到redis中割疾,繼承AbstractSessionDAO
doCreate:為用戶創(chuàng)建sessionID
doReadSession:根據(jù)sessionId獲取session
update:更新session
2??重寫sessionManager,解決多次讀取的問題
3??將用戶角色和權(quán)限信息存到redis嘉栓,實現(xiàn)Cache
4??緩存管理使用自定義的緩存實現(xiàn)宏榕,實現(xiàn)CacheManager
5??最重要的認證和鑒權(quán)實現(xiàn), 繼承AbstractSessionDAO
用戶認證:從數(shù)據(jù)庫中查找用戶是否存在
用戶鑒權(quán):
6??:配置,由于業(yè)務原因侵佃,不配置登陸成功和錯誤相關(guān)頁面麻昼,如果出錯直接給前端返回錯誤碼,可以自己進行配置
配置 ShiroFilterFactoryBean