京淘系統分佈式開發流程

京淘系統分佈式開發流程

資源🔗https://download.csdn.net/download/qq_39038793/11957027

1.技術:主要使用SSM、redis、nginx等參照.pom文件

2.創建主要的一個maven項目選擇爲pom的格式,名字爲jt

這是父級的maven項目,打包方式爲pom


pom.xml文件防止整個jt項目的全部dependency

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.jt</groupId>
	<artifactId>jt</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.9.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!--springBoot動態的引入springMVC全部的配置 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 引入aop支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>

		<!--引入測試類 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--添加屬性注入依賴 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

		<!--支持熱部署 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<!--引入插件lombok 自動的set/get/構造方法插件 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<!--引入數據庫驅動 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.32</version>
			<scope>runtime</scope>
		</dependency>

		<!--引入druid數據源 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.12</version>
		</dependency>

		<!--spring整合mybatis-plus -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.2.0</version>
		</dependency>

		<!--spring整合redis -->
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
		</dependency>

		<!--springBoot整合JSP添加依賴 -->
		<!--servlet依賴 注意與eureka整合時的問題 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
		</dependency>

		<!--jstl依賴 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>

		<!--使jsp頁面生效 -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>

		<!--添加httpClient jar包 -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
		</dependency>

		<!--引入dubbo配置 -->
		<!--<dependency> 
		<groupId>com.alibaba.boot</groupId> 
		<artifactId>dubbo-spring-boot-starter</artifactId> 
			<version>0.2.0</version>
			 </dependency> -->

		<!--添加Quartz的支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-quartz</artifactId>
		</dependency>
	</dependencies>
	<!-- 當前項目的子模塊信息 -->
	<modules>
		<module>jt-common</module>
		<module>jt-manage</module>
</modules>
</project>

3.創建jt-common文件,裏面放置整個系統的通用內容和配置信息。

創建爲Maven Module項目的子模塊,是jar的打包方式 ,其他子模塊引入這個jar方式就可以了,這個文件裏面的pom文件,不需要設置內容。

包括entity,exception,vo,uitls等


//返回數據JSON
@RestControllerAdvice //異常通知 對Controller層生效
@Slf4j //記錄日誌
public class SysException {
	@ExceptionHandler(RuntimeException.class)
	public SysResult error(Exception exception) {
		exception.printStackTrace();
		log.error(exception.getMessage());
		return SysResult.fail();
	}
}
@Data
@Accessors(chain=true)
@NoArgsConstructor
@AllArgsConstructor//先寫無參構,再寫有參構造,不然會被有參構造覆蓋
public class SysResult {
	private Integer status;//狀態碼200成功;201失敗;
	private String msg; // 提示信息
	private Object data;  //返回的數據
	
	/**
	 * 只告訴用戶執行成功,只返回200
	 * @return
	 */
	public static SysResult success() {
		return new SysResult(200,null,null);
	}
	/**成功返回200,返回數據data  String name*/
	public static SysResult success(Object data) {
		return new SysResult(200,null,data);
	}
	/**成功返回msg,必須兩個參數*/
	public static SysResult success(String msg,Object data) {
		return new SysResult(200,msg,data);
	}
	/**返回失敗*/
	public static SysResult fail() {
		return new SysResult(201,"業務執行失敗",null);
	}
}

4.創建jt系統的功能模塊信息

創建爲Maven Module項目的子模塊,,打包方式war

src裏面正常的分層,webapp裏面放置自己的html頁面個靜態資源等信息。

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jt</groupId>
		<artifactId>jt</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>jt-manage</artifactId>
	<packaging>war</packaging>
	<dependencies>
		<dependency>
			<groupId>com.jt</groupId>
			<artifactId>jt-common</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<!--跳過測試類打包 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>
server:
  port: 8080
  servlet:
    context-path: /
spring:
  datasource:
        #引入druid數據源
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jingtaodb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: 123
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp
#mybatis-plush配置
mybatis-plus:
  type-aliases-package: com.jt.pojo
  mapper-locations: classpath:/mybatis/mappers/*.xml
  configuration:
    map-underscore-to-camel-case: true

logging:
  level: 
    com.jt.mapper: debug

5.分佈式項目的架構大概如上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章