開源商店項目Android+Java後端(Springboot)

簡介

豆腐小店是本身的學習項目,主要實現一個商城的下單、購物車、支付等基本功能,熟悉後端的開發過程,由於本身作Android的,而後想學一些後端的技術,因此Android端和後端(Springboot,Mybatis)一塊兒寫了。Android使用基本的MVC模式,儘量的寫得簡單,由於主要仍是學習後端,後端使用流行的SpringBoot+Mybatis框架,設計一個可擴展分佈式架構。html

代碼連接

Android端代碼:github.com/luqinmao/st…前端

Java後端代碼:github.com/luqinmao/st…java

使用的技術

storeClient安卓端git

技術 說明
okgo 優秀的網絡請求框架
autosize 屏幕適配解決方案
rxpermissions 動態權限框架
alipaySdk 支付寶支付SDK
其餘 如:butterknife、gson、oss、eventbus、BaseRecyclerViewAdapterHelper等

storeServer後端github

技術 說明
SpringBoot 容器+MVC框架
MyBatis ORM框架
MyBatisGenerator 數據層代碼生成
PageHelper MyBatis物理分頁插件
Redis 分佈式緩存
Druid 數據庫鏈接池
OSS 阿里雲對象存儲
Lombok 簡化對象封裝工具

項目運行

本項目啓動須要依賴MySql、Redis、navicat內網穿透等服務,數據庫中須要導入store.sql腳本,Android端下單支付時使用沙箱版支付寶APP進行付款。安裝完相關依賴之後直接啓動StoreApplication類的main函數便可。sql

項目包結構

src
├── common -- 用於存儲通用代碼及工具類
├── config -- SpringBoot中的Java配置
├── controller -- 控制器層代碼
|    ├── backend -- 後臺管理接口
|    └── common  -- 通用未分類接口
|    └── portal  -- Android前端接口
├── dao -- 數據訪問層代碼
├── pojo -- 實體類
├── mbg -- MyBatisGenerator生成器相關代碼
└── service -- 業務層接口代碼
|   └── impl -- 業務層接口實現類代碼
├── task -- 計時器相關代碼
├── util -- 工具類
├── task -- 計時器相關代碼
└── vo -- 
複製代碼

資源文件

├── generatorConfig.xml -- MyBatisGenerator生成代碼規則配置
├── application.yml     -- SpringBoot的配置文件
├── logback.xml 	    -- logback日誌配置文件
├── store.properties    -- 項目的Redis、內網穿透等須要的參數文件
├── zfbinfo.properties  -- 支付寶須要的配置參數文件
└── generatorConfig.xml -- MyBatisGenerator生成代碼規則配置
複製代碼

說明

項目相關

  • 由於我沒有支付寶企業帳號,因此項目使用的支付寶支付爲沙盒環境(測試環境),因此在安卓端試用支付功能時只能用沙箱版支付寶APP進行支付,須要在手機安裝沙箱版支付寶APP,請自行下載安裝,下載地址:openhome.alipay.com/platform/ap… 買家測試帳號:aemkne6182@sandbox.com 密碼:111111數據庫

  • 啓動後端項目以前須要先啓動Redis,否則會報錯啓動不了後端

  • 數據庫文件放在doc文件夾下面,即store.sql文件api

  • Android端的運行時候根據你運行在手機仍是模擬器,須要求改base文件夾下AppConst文件的SERVER_ADDRESS請求地址緩存

  • 請求接口須要帶上請求頭login_token,值從登錄接口得到,用戶測試帳號:admin,密碼:admin

  • portal模塊的controller類,不須要登陸攔截的uri配置在LoginPublicUri類裏面

  • backend模塊的controller類,登陸與用戶管理員權限攔截在AuthorityInterceptor裏面

其餘相關

學習時的一些記錄

  • war包 javax/el/ELManager錯誤解決:錯誤緣由是由於tomcat7中的el-api2.2 版本過低致使

    解決方法一:直接下載一個el-api3.x.jar替換tomcat中的el-api2.2.jar

    解決方法二,直接下載tomcat8安裝解決問題

  • 過濾器匹配:

    • 匹配com.lqm.controller包下的全部方法 @Pointcut("execution(public * com.lqm.controller..(..))")
    • 匹配com.lqm.controller包及其子包下的全部方法 @Pointcut("execution(* com.lqm.controller...(..))")
  • jackson config不生效記錄:以前AuthorityInterceptorConfig 我繼承WebMvcConfigurationSupport, 而後jackson config 的就失效了,把以前AuthorityInterceptorConfig改成 implements WebMvcConfigurer 就能夠了

  • orderControler報錯, Caused by: java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException
    解決:blog.csdn.net/huanjia_h/a… war 加入alipay相關jar包

  • 啓動報錯: Error creating bean with name 'gsonBuilder' 更換gson版本爲2.6.2 後解決

項目截圖

Android前端效果圖

項目代碼圖

相關文章
相關標籤/搜索