Maven子父项目+Dubbo+ZK+springMVC(mybatis+mysql)入门案例(一)

1. 话不多说,直接上运行环境

  • win10系统,jdk1.8,Tomcat7,ecilpse4.5.2

.
2.创建一个Maven子父工程,步骤如下:

  1. 右键>new>project>Maven project>next。

在这里插入图片描述

  1. next,进行下一步

在这里插入图片描述

3.填写自己的项目名

在这里插入图片描述

4.点击finish完成父项目创建

在这里插入图片描述
5.右键父项目>new>project>maven>Maven Module>next
在这里插入图片描述

6.创建model层,我的名字 com-stu-api

在这里插入图片描述7.next,选择打包方式jar包,
在这里插入图片描述8.finish完成创建第一个子项目
在这里插入图片描述
9.右键父项目>new>project>maven>Maven Module>next,
创建服务层,我的名字 com-stu-ws
在这里插入图片描述10.选择打包方式War包,11…finish完成创建第二个子项目
在这里插入图片描述
**注意:**此处报错是因为没有打包方式为war包,没有web.xml 造成的

12.右键父项目>new>project>maven>Maven Module>next,
创建Controller层,我的名字 com-stu-cms
在这里插入图片描述13.选择打包方式War包,
在这里插入图片描述11.finish完成创建第三个子项目
在这里插入图片描述
3添加依赖

- 在maven父项目的pom.xml中添加需要的jar包

<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-stu</groupId>
  <artifactId>com-stu</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
  	<module>com-stu-api</module>
  	<module>com-stu-ws</module>
  	<module>com-stu-cms</module>
  </modules>
  
  <properties>
		<project.build.jdkVersion>1.8</project.build.jdkVersion>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring.version>4.2.2.RELEASE</spring.version>
	</properties>
	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<!-- spring end -->


		<!-- alibaba dubbo -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.javassist</groupId>
					<artifactId>javassist</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.netty</groupId>
					<artifactId>netty</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- dubbo 相关 -->
		<dependency>
			<groupId>org.jboss.netty</groupId>
			<artifactId>netty</artifactId>
			<version>3.2.10.Final</version>
		</dependency>

		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.6</version>
		</dependency>

		<dependency>
			<groupId>com.netflix.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>1.3.3</version>
		</dependency>

		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>3.20.0-GA</version>
		</dependency>
		<!-- dubbo 相关 end -->
		<!-- aspectjweaver : spring aop要用到 -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.7</version>
		</dependency>
		<!-- 指定build jdk版本 -->
		<build>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.3.2</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</dependencies>
</project>

. 在com-stu-api,model层添加jdk版本控制

<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-stu</groupId>
    <artifactId>com-stu</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com-stu-api</groupId>
  <artifactId>com-stu-api</artifactId>
  
  <!-- 指定build jdk版本 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

- 在服务层(com-stu-ws)添加jar包,因为需要连接数据库,所以加mybatis,mysql的jar包

<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-stu</groupId>
		<artifactId>com-stu</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>com-stu-ws</groupId>
	<artifactId>com-stu-ws</artifactId>
	<packaging>war</packaging>

	<dependencies>
		<dependency>
			<groupId>com-stu2-api</groupId>
			<artifactId>com-stu2-api</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.3.0</version>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.3</version>
		</dependency>
		<!-- mybatis end -->

		<!-- jdbc pool s -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.16</version>
		</dependency>
		<!-- jdbc pool e -->

		<!-- mysql s -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.32</version>
		</dependency>
		<!-- -->
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

- 另外war包需要添加web.xml
格式如下(web.xml不用写任何东西):
在这里插入图片描述

  • 在controller层(com-stu-cms)添加服务层依赖:
    因为需要控制页面,所以需要jstl的jar包
<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-stu</groupId>
		<artifactId>com-stu</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>com-stu-cms</groupId>
	<artifactId>com-stu-cms</artifactId>
	<packaging>war</packaging>

	<dependencies>

		<!-- jstl -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<!-- jstl end -->
		<dependency>
			<groupId>com-stu2-api</groupId>
			<artifactId>com-stu2-api</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

另外服务层和controller层需要model层的依赖,所以在前者的两个pom.xml 文件中添加对model层的依赖(上面代码加过了):

<dependency>
		<groupId>com-stu-api</groupId>
			<artifactId>com-stu-api</artifactId>
		<version>0.0.1-SNAPSHOT</version>
</dependency>

右键maven父项目>Maven>Updata project>select all >OK
就没有任何错误了,jdk版本也变成1.8
在这里插入图片描述
为不影响浏览效果,dubbo和Zk配置请看入门案例(二)
链接

猜你喜欢

转载自blog.csdn.net/Forever_Devil/article/details/88534818
今日推荐