2023-02-10
一、專案介紹
1、介紹
尚好房是一個二手房管理服務平臺,開放優質資源和線上能力,聚合線上線下二手房產資源,打造一個全方位二手房服務生態市場,為消費者提供優質房產服務資源,
2、核心技術
(1)基礎框架:ssm
(2)分布式框架:ssm + Dubbo + zk
(3)spring session redis 實作session共享
(4)圖片服務器:七牛云
(5)后臺管理權限控制:spring-security
(6)前端用戶登陸判斷:攔截器
(7)后臺管理模塊:Thymeleaf
(8)前端技術:Vue + Axios
3、專案模塊
最終為分布式架構模塊
(1)shf-parent:根目錄,管理子模塊:
①common-util:公共類模塊
②model:物體類模塊
③service:dubbo服務父節點
service-acl:權限服務模塊
service-house:房源服務模塊
service-user:用戶服務模塊
service-api:dubbo服務api介面
④web:前端(dubbo服務消費者)
web-admin:后臺管理系統
web-front:網站前端
4、資料庫
6、其他資源
物體類,工具類
二、環境搭建
1、創建idea專案,搭建父工程shf-parent
①打開idea,店家“create new project”,選擇“maven”點擊“next”,


點擊“finish”
②洗掉“src”檔案夾
③忽略.idea

2、搭建工具類common-util模塊
①將滑鼠停留在父工程的位置,右擊“new module”,選擇“maven”,點擊“next”

點擊“finish”
②在“shf-parent/common-util/src/main/java/com.hh”下創建兩個檔案夾“result”、“util”,將代碼匯入對應位置
3、搭建物體類模塊model
①將滑鼠停留在父工程的位置,右擊“new module”,選擇“maven”,點擊“next”

點擊“finish”
②在“shf-parent/model/src/main/java/com.hh”下創建兩個檔案夾“entity”、“vo”,將代碼匯入對應位置
4、搭建專案模塊web-admin
同上
注意:
①web工程的打包方式是war包,需要在“shf-parent/web-admin/src/pom.xml”中的<project>內部添加打包方式
<!-- web工程的打包方式是war--> <packaging>war</packaging>
②在main下直接創建webapp/WEB-INF/web.xml
放置web.xml的約束
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <display-name>web</display-name> </web-app>
三、配置依賴關系
1、在“shf-parent/pom.xml”下的<project>中匯入依賴
<properties> <java.version>1.8</java.version> <spring.version>5.2.7.RELEASE</spring.version> <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version> <pagehelper.version>4.1.4</pagehelper.version> <servlet-api.version>2.5</servlet-api.version> <fastjson.version>1.2.29</fastjson.version> <mybatis.version>3.4.5</mybatis.version> <mybatis.spring.version>1.3.1</mybatis.spring.version> <mysql.version>8.0.18</mysql.version> <druid.version>1.1.12</druid.version> <commons-fileupload.version>1.3.1</commons-fileupload.version> <slf4j-version>1.7.30</slf4j-version> <logback-version>1.2.3</logback-version> </properties> <!-- 依賴管理 --> <dependencyManagement> <dependencies> <!-- SpringMVC相關 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!--spring封裝的jdbc資料庫訪問--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <!--Spring提供的對AspectJ框架的整合--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!--用于spring測驗--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--用于springMVC模板--> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> <version>${thymeleaf.version}</version> </dependency> <!--mybatis的分頁插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>${pagehelper.version}</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- Mybatis與Spring整合所需要的jar包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- 連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- 檔案上傳組件 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j-version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback-version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <!-- java編譯插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
2、在“shf-parent/common-util/pom.xml”下的<project>中匯入依賴
<dependencies> <!-- SpringMVC相關 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <!--spring封裝的jdbc資料庫訪問--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> <!--Spring提供的對AspectJ框架的整合--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <!--用于spring測驗--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <!--用于springMVC模板--> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> </dependency> <!--mybatis的分頁插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </dependency> <!-- Mybatis與Spring整合所需要的jar包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency> <!-- 檔案上傳組件 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </dependency> <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> </dependencies>
3、在“shf-parent/web-admin/pom.xml”下的<project>中匯入依賴
<dependencies> <dependency> <groupId>com.hh</groupId> <artifactId>common-util</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>com.hh</groupId> <artifactId>model</artifactId> <version>1.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.15.v20190215</version> <configuration> <!-- 如果檢測到專案有更改則自動熱部署,每隔n秒掃描一次,默認為0,即不掃描--> <scanIntervalSeconds>10</scanIntervalSeconds> <webAppConfig> <!--指定web專案的根路徑,默認為/ --> <contextPath>/</contextPath> </webAppConfig> <httpConnector> <!--埠號,默認 8080--> <port>8000</port> </httpConnector> </configuration> </plugin> </plugins> </build>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/543493.html
標籤:Java
下一篇:解決:ChatGPT too many requests in 1 hour.Try again later 怎么辦?OpenAI 提示
