1.创建项目的步骤
先创建一个父maven项目pom包,
创建controller子项目Maven Moudel,打war包
(controller属于MVC管辖范围,dao,service属于spring管辖范围),
创建dao子项目Maven Moudel,打jar包(po,mapper),
创建service子项目Maven Moudel,打jar包,
controller层调用service层,service层调用dao层。
2.各个层的解释
springMVC:注解驱动,设置扫描的包。
spring:数据源,SqlSessionFactory,自动扫描Mapper接口,扫描service包。
2.1 DAO (Data Access Object) 层主要负责与数据库进行交互的代码。通常情况下,你会在这个层面处理SQL查询,事务管理,以及与数据库的交互(mapper/po)。
以下是在DAO层通常放置的一些代码:
数据库交互代码: 这包括所有与数据库的直接交互,如查询、插入、更新等。在Java中,这可能涉及到JDBC或ORM框架(如Hibernate或MyBatis)的使用。
数据转换代码: 在获取数据库中的数据后,通常需要将其转换为Java对象。反之亦然,当需要将Java对象保存到数据库时,需要将其转换为数据库可以理解的格式。
错误处理和异常处理代码: 在与数据库交互时,可能会出现各种错误和异常。DAO层应该包含处理这些错误的代码。
事务管理代码: 如果你使用的是关系型数据库,那么事务管理就非常重要。DAO层应该包含管理事务的代码。
数据验证代码: 在某些情况下,你可能需要在将数据保存到数据库之前验证数据的完整性或有效性。这可以在DAO层完成。
与上层(如服务层)通信的代码: DAO层应该提供一种方式,使得服务层可以轻松地获取或保存数据。
总的来说,DAO层应该尽可能地使数据库的交互变得简单和一致,同时也要确保数据的安全和准确性。
2.2 Controller层是MVC架构中的控制器层,主要负责接收和响应请求(controller/)。在Controller层中,你可以放置以下代码:
接收请求: Controller层应该包含接收用户请求的代码。例如,在Web应用程序中,这可能涉及到处理HTTP请求。
验证输入: 在接收请求后,Controller层应该验证用户输入的有效性。例如,检查输入是否符合特定的规则或格式。
调用服务层: 一旦输入验证通过,Controller层应该调用服务层来执行业务逻辑。
处理服务层返回的结果: 服务层执行完成后,Controller层需要处理服务层返回的结果。这可能包括将结果传递给视图层进行显示,或者根据结果做出相应的动作。
异常处理: Controller层还应该包含处理异常的代码,例如在服务层出现错误时抛出的异常。
总的来说,Controller层的主要职责是接收请求、验证输入、调用服务层、处理结果以及处理异常。它充当了用户请求与业务逻辑之间的桥梁。
2.3 Service层是业务逻辑层,负责处理业务逻辑并与其他层次进行交互。在Service层中,您可以放置以下代码:
业务逻辑代码: Service层的核心是业务逻辑代码,它描述了应用程序的核心功能。例如,如果您正在开发一个电子商务应用程序,Service层可能会包含处理购物车、订单、支付等业务的逻辑。
调用DAO层: Service层通常需要与DAO层交互以获取或保存数据。因此,Service层应该包含调用DAO层的代码。
调用其他Service层: 如果您的应用程序有多个Service层,那么Service层之间可能会相互调用。例如,如果您有一个订单Service层和一个用户Service层,订单Service层可能需要调用用户Service层来获取用户信息。
数据转换: 在Service层中,您可能会将数据从一种形式转换为另一种形式。例如,您可能会将从DAO层获取的数据转换为传递给表现层的格式。
错误处理和异常处理: Service层应该包含处理在DAO层或其他Service层中抛出的异常的代码。
总的来说,Service层负责处理业务逻辑,与其他层次进行交互,并处理与数据相关的任务。它通常位于MVC架构中的中心位置,连接了数据访问层和表现层。
controller调用service,service调用dao层。
各个层的文件
注意:文件里的内容请看
链接: link