9. 聚合工程实操
大约 3 分钟
三、聚合工程
所谓聚合项目,实际上就是对项目分模块,互联网项目一般来说按照业务分(订单模块、VIP模块、支付模块、CMS模块…),传统的软件项目,大多采用分层的方式(Dao、Serivce、Controller):
1. 聚合工程的结构
bobo-parent pom 管理
|-- bobo-manager pom 管理
|-- bobo-manager-dao jar
|-- bobo-manager-service jar
|-- bobo-manager-model jar
|-- bobo-manager-commons jar
|-- bobo-manager-controller war
2.项目结构创建
2.1创建bobo-parent
2.2 创建bobo-manager
这也是一个POM工程,而且是bobo-parent下的一个子工程
注意创建的module的父工程
2.3 分别创建4个java工程
创建bobo-manager-dao
创建bobo-manager-service
创建bobo-manager-model
创建bobo-manager-commons
2.4 创建bobo-manager-controller
创建对应的web项目,选择对应的模板
等待初始化完成
3. 依赖关系
3.1 依赖关系介绍
完整的依赖关系
控制层依赖关系
service层依赖关系
dao层的依赖关系
3.2 项目打包
bobo-parent打包在IDEA中会一性的给所有的子工程都打包
3.3 依赖关系配置
controller依赖service。那就在Controller的pom文件中添加service的依赖
service依赖dao。在service的pom文件中添加依赖
dao依赖commons和model两个模块
完整依赖关系图
4.聚合工程的运行
4.1 创建UserBean
package com.bobo.model;
public class User {
private Integer id;
private String userName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
'}';
}
}
4.2 创建Dao
package com.bobo.dao;
import com.bobo.model.User;
public interface IUserDao {
User queryUser();
}
package com.bobo.dao.impl;
import com.bobo.dao.IUserDao;
import com.bobo.model.User;
public class UserDaoImpl implements IUserDao {
@Override
public User queryUser() {
User user = new User();
user.setId(666);
user.setUserName("波波");
return user;
}
}
4.3 创建Service
package com.bobo.service;
import com.bobo.model.User;
public interface IUserService {
User queryUser();
}
package com.bobo.service.impl;
import com.bobo.dao.IUserDao;
import com.bobo.dao.impl.UserDaoImpl;
import com.bobo.model.User;
import com.bobo.service.IUserService;
public class UserServiceImpl implements IUserService {
private IUserDao dao = new UserDaoImpl();
@Override
public User queryUser() {
return dao.queryUser();
}
}
4.4 创建Controller
创建Servlet
package com.bobo.servlet;
import com.bobo.model.User;
import com.bobo.service.IUserService;
import com.bobo.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class UserServlet extends HttpServlet {
private IUserService service = new UserServiceImpl();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = service.queryUser();
System.out.println(user);
}
}
web.xml的配置
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>com.bobo.servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userServlet</servlet-name>
<url-pattern>/userServlet</url-pattern>
</servlet-mapping>
</web-app>
添加Tomcat插件
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port> <!-- 访问端口-->
<path>/</path> <!-- 访问路径-->
</configuration>
</plugin>
</plugins>
4.5 运行
通过Tomcat插件运行
访问
访问成功说明聚合工程搭建完成!