目录
(2)数据访问层—接口interface—>dao或mapper
本章学习源码Github地址:https://github.com/GuiZhouAndroid/MySpringAllProject/tree/master/SpringDemo02_NOT_IOC_MVC
一、构建前提条件
无依赖+无配置——>pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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.dhrj.java.zsitking</groupId>
<artifactId>SpringDemo02_NOT_IOC_MVC</artifactId>
<version>1.0</version>
<name>SpringDemo02_NOT_IOC_MVC</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
二、创建MVC三层架构包
创建思想:由下层(数据相关)往上(业务视图)依次创建——>个人习惯,数据传递思维。
(1)实体类——>pojo或entity或bean
(2)数据访问层—接口interface—>dao或mapper
(3)数据访问层—实现层implements—>impl
(4)业务逻辑层—接口interface—>service
(5)业务逻辑层—实现层implements—>impl
(6)界面控制层——>controller
效果图:
三、各个接口和类内容——由下往上依次展示
(1)User
package com.dhrj.java.zsitking.pojo;
/**
* created by on 2022/6/7
* 描述:用户实体类
*
* @author ZSAndroid
* @create 2022-06-07-14:15
*/
public class User {
private int userId;
private String userName;
private int userAge;
public User() {
}
public User(int userId, String userName, int userAge) {
this.userId = userId;
this.userName = userName;
this.userAge = userAge;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
@Override
public String toString() {
return "Users{" +
"userId=" + userId +
", userName='" + userName + '\'' +
", userAge=" + userAge +
'}';
}
}
(2)UserMapper
package com.dhrj.java.zsitking.dao;
import com.dhrj.java.zsitking.pojo.User;
/**
* created by on 2022/6/7
* 描述:用户数据访问层接口
*
* @author ZSAndroid
* @create 2022-06-07-14:19
*/
public interface UserMapper {
//添加用户
int addUser(User user);
}
(3)UserMapperImpl
package com.dhrj.java.zsitking.dao.impl;
import com.dhrj.java.zsitking.dao.UserMapper;
import com.dhrj.java.zsitking.pojo.User;
/**
* created by on 2022/6/7
* 描述:用户数据访问层接口实现类
*
* @author ZSAndroid
* @create 2022-06-07-14:23
*/
public class UserMapperImpl implements UserMapper {
@Override
public int addUser(User user) {
System.out.println(user.getUserName() + "用户数据添加成功...");
return 1;
}
}
(4)UserService
package com.dhrj.java.zsitking.service;
import com.dhrj.java.zsitking.pojo.User;
/**
* created by on 2022/6/7
* 描述:用户业务逻辑层接口
*
* @author ZSAndroid
* @create 2022-06-07-14:31
*/
public interface UserService {
//添加用户
int addUser(User user);
}
(5)UserServiceImpl
package com.dhrj.java.zsitking.service.impl;
import com.dhrj.java.zsitking.dao.UserMapper;
import com.dhrj.java.zsitking.dao.impl.UserMapperImpl;
import com.dhrj.java.zsitking.pojo.User;
import com.dhrj.java.zsitking.service.UserService;
/**
* created by on 2022/6/7
* 描述:用户业务逻辑层实现类
*
* @author ZSAndroid
* @create 2022-06-07-14:31
*/
public class UserServiceImpl implements UserService {
// 在所有业务逻辑层中都必定有数据访问层的对象
private UserMapper UserMapper = new UserMapperImpl();
@Override
public int addUser(User user) {
return UserMapper.addUser(user);
}
}
(6)UserController
package com.dhrj.java.zsitking.controller;
import com.dhrj.java.zsitking.pojo.User;
import com.dhrj.java.zsitking.service.UserService;
import com.dhrj.java.zsitking.service.impl.UserServiceImpl;
/**
* created by on 2022/6/7
* 描述:用户界面层
*
* @author ZSAndroid
* @create 2022-06-07-14:36
*/
public class UserController {
// 在所有界面层中都必定有业务逻辑层的对象
private UserService userService = new UserServiceImpl();
/**
* 界面层的功能实现,对外提供访问的功能
*
* @param user 待添加的用户信息
* @return 添加结果
*/
public int addUser(User user) {
return userService.addUser(user);
}
}
四、测试三层架构搭建的项目
junit测试代码如下:
@Test
public void test01() {
System.out.println(new UserController().addUser(new User(1998, "张松", 24)));
}
运行效果:
证明:非Spring框架MVC三层项目构建模拟用户添加业务,数据传递交互是成功的!
五、总结
仅自己学习记录,如有错误,敬请谅解~,谢谢~~~