項(xiàng)目總結(jié)經(jīng)驗(yàn)
1.項(xiàng)目框架
SpringBoot + Mybatis + Mysql + Vue
數(shù)據(jù)庫(kù)采用阿里云的數(shù)據(jù)庫(kù)
阿里云服務(wù)器
登陸驗(yàn)證jwt
json web token? ? ?
通過(guò)一個(gè)util生成一個(gè)token
Map<String, Object> claims = new HashMap<>();
//用戶名
claims.put(CLAIM_KEY_USERNAME, userDetails.getUsername());
/適用類(lèi)型(mobile恬偷,web熙掺, tablet,unkown)
claims.put(CLAIM_KEY_AUDIENCE, generateAudience());/
claims.put(CLAIM_KEY_CREATED, createdDate);//創(chuàng)建時(shí)間
Jwts.builder()
? ? ?.setClaims(claims)
? ? ? .setExpiration(expirationDate)
? ? ? .signWith(SignatureAlgorithm.HS512, secret)
? ? ? ?.compact()
數(shù)據(jù)緩存redis
spring:
????redis:
????????database: 0
????????host: 123.56.76.154
????????pool:
????????????????max-active: 8
? ? ? ? ? ? ? ? max-idle: 8
????????????????max-wait: -1
? ? ? ? ? ? ? ? min-idle: 0
? ? ? ?timeout: 0
? ? ? ? port: 6379
word導(dǎo)出freemaker+XDOCReport
詳情查看Xdocreport和Freemaker生成docx
其本質(zhì)依舊是操作xml文件
所需jar如下是:
commons-collections-3.2.2.jar
fr.opensagres.xdocreport.converter-1.0.4.jar
fr.opensagres.xdocreport.core-1.0.4.jar
fr.opensagres.xdocreport.document.docx-1.0.4.jar
fr.opensagres.xdocreport.document-1.0.4.jar
fr.opensagres.xdocreport.template.freemarker-1.0.4.jar
fr.opensagres.xdocreport.template-1.0.4.jarjcaptcha-1.0-all.jar
excel導(dǎo)出poi
mail使用java.mail
即時(shí)通信Websocket
數(shù)據(jù)可連接Mybatis,采用注釋動(dòng)態(tài)方式
@Insert,@Select 筛璧,@Delete稻据, @Update矾利, @InsertProvider脓杉,@SelectProvider, @UpdateProvider到旦, @DeleteProvider
定時(shí)任務(wù)采用@Scheduled定時(shí)任務(wù)
springboot自帶的定時(shí)任務(wù)管理束铭,再啟動(dòng)添加注釋@EnableScheduling注釋?zhuān)缓髮⒍x了定時(shí)任務(wù)的注入到springboot容器中, 再在定時(shí)任務(wù)的方法上添加@Scheduled注釋即可厢绝。當(dāng)springboot初始化時(shí)契沫,將會(huì)將該任務(wù)添加到任務(wù)池中,根據(jù)計(jì)時(shí)器來(lái)執(zhí)行任務(wù)昔汉,且任務(wù)是串行懈万,一旦有某個(gè)任務(wù)無(wú)法繼續(xù)執(zhí)行,將會(huì)中斷整個(gè)定時(shí)任務(wù)鏈靶病。
使用SpringAOP進(jìn)行的日志輸出会通,和特殊行為監(jiān)控