Spring学习笔记(五)模拟实际开发的调用过程
用传统方式(以前的知识)来模拟实际开发的调用过程。
源码获取github
1.项目结构
2.jar包
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
3.dao层
UserDao.java
package com.hs.dao;
public interface UserDao {
void add();
}
UserDaoImpl.java
package com.hs.dao.impl;
import com.hs.dao.UserDao;
public class UserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("UserDao层的实现类--->ADD");
}
}
4.Service层
UserService.java
package com.hs.service;
public interface UserService {
void add();
}
UserServiceImpl.java
package com.hs.service.impl;
import com.hs.dao.UserDao;
import com.hs.dao.impl.UserDaoImpl;
import com.hs.service.UserService;
public class UserServiceImpl implements UserService {
//建立联系(一共有三种方式)
private UserDao userDao = new UserDaoImpl();
@Override
public void add() {
System.out.println("UserService层的实现类--->ADD");
this.userDao.add();
}
}
5.Controller层
UserController.java
package com.hs.web;
import com.hs.service.UserService;
import com.hs.service.impl.UserServiceImpl;
public class UserController {
//建立联系
private UserService userService = new UserServiceImpl();
public void add() {
System.out.println("UserController层--->ADD");
this.userService.add();
}
}
6.测试
package com.hs.test;
import com.hs.web.UserController;
import org.junit.Test;
public class MethodTest {
/** * 测试传统调用过程 */
@Test
public void test01() {
UserController userController = new UserController();
userController.add();
}
}
控制台输出:
UserController层—>ADD
UserService层的实现类—>ADD
UserDao层的实现类—>ADD
程序就是一层一层调用,先调用Controller层—>Service层—>Dao层