介紹
本項目提取自電商的秒殺場景珍剑,將秒殺業(yè)務(wù)獨立出一個練習(xí)項目。適合剛工作和準(zhǔn)備工作的程序員。
本文主要介紹 SSM 項目的搭建
技術(shù)
- 總體架構(gòu): Maven + SSM
- 日志: slf4j + logback
- 數(shù)據(jù)庫相關(guān):Mysql + c3p0
源碼
Maven + SSM 整合
- 在 idea 上創(chuàng)建一個 Java 項目,新建 pom.xml 文件,填寫相關(guān)依賴澈圈。(具體見源碼 pom.xml 文件)右鍵項目找到Maven Reimport 導(dǎo)入Maven依賴。
- 修改目錄結(jié)構(gòu)
image.png
完整目錄展示:
main.java 存放源碼
resources 存放相關(guān)配置文件
sql 存放相關(guān)sql
webapp 存放前臺頁面
DAO(Data Access Object) 數(shù)據(jù)訪問對象帆啃,提供訪問數(shù)據(jù)庫的抽象接口瞬女,或者持久化機制,而不暴露數(shù)據(jù)庫的內(nèi)部詳細(xì)信息努潘。DAO提供從程序調(diào)用到持久層的匹配诽偷。面向Model。
DTO:數(shù)據(jù)傳輸對象(Data Transfer Object)疯坤,是一種設(shè)計模式之間傳輸數(shù)據(jù)的軟件應(yīng)用系統(tǒng)渤刃。數(shù)據(jù)傳輸目標(biāo)往往是數(shù)據(jù)訪問對象從數(shù)據(jù)庫中檢索數(shù)據(jù)。數(shù)據(jù)傳輸對象與數(shù)據(jù)交互對象或數(shù)據(jù)訪問對象之間的差異是一個以不具有任何行為除了存儲和檢索的數(shù)據(jù)(訪問和存取器)贴膘。簡單來說卖子,當(dāng)我們需要一個對象10個字段的內(nèi)容,但這個對象總共有20個字段刑峡,我們不需要把整個PO對象全部字段傳輸?shù)娇蛻舳搜竺觯强梢杂肈TO重新封裝,傳遞到客戶端突梦。此時诫舅,如果這個對象用來對應(yīng)界面的展現(xiàn),就叫VO宫患。
- 創(chuàng)建 jdbc.properties刊懈, spring-dao.xml 文件和 mybaties-config.xml 文件
jdbc.properties 連接數(shù)據(jù)庫
spring-dao.xml 文件是 Spring 與 Mybatis 的整合,主要配置自動掃描娃闲,自動注入和連接c3p0虚汛。(內(nèi)容見源碼)
mybaties-config.xml 是 mybaties 的一些屬性配置
spring-dao.xml 文件
1. 連接數(shù)據(jù)庫的相關(guān)參數(shù)
2. 使用的連接池
3. 配置 sqlSessionfactory 對象
4. 配置掃描 DAO 接口包
- 創(chuàng)建 spring-service.xml 文件
spring-service.xml
1. 自動掃描
2. 事務(wù)管理器
- 創(chuàng)建 spring-web.xml 文件
spring-web.xml
1. 對 SpringMVC 的整合,開啟注解模式
2. 靜態(tài)資源的 servlet 配置
3. 配置 jsp 顯示 ViewResolver
4. 自動掃描 web 的 bean
- 配置 web.xml皇帮,配置攔截器卷哩,初始化spring-*.xml。
完成這6步属拾,項目架構(gòu)就搭建完成将谊。剩下的就是不同業(yè)務(wù)的開發(fā)冷溶。