springboot用户登陆,controller只负责调用,serviceimpl实现业务逻辑代码怎么打
时间: 2024-02-01 20:03:57 浏览: 29
首先,定义一个接口`UserService`,其中包含用户登陆的方法:
```java
public interface UserService {
User login(String username, String password);
}
```
然后在`service`包下创建一个实现类`UserServiceImpl`,实现该接口,实现具体的业务逻辑代码:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User login(String username, String password) {
User user = userMapper.findByUsername(username);
if (user == null) {
throw new RuntimeException("用户不存在");
}
if (!user.getPassword().equals(password)) {
throw new RuntimeException("密码错误");
}
return user;
}
}
```
在`controller`包下创建一个`UserController`,负责调用`UserService`接口中的方法:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/login")
public Result login(@RequestParam String username, @RequestParam String password) {
User user = userService.login(username, password);
return Result.success(user);
}
}
```
这样,`controller`只负责调用,`serviceimpl`实现业务逻辑代码。当用户登录时,`controller`将请求参数传递给`serviceimpl`,`serviceimpl`实现具体的业务逻辑代码,最终返回结果给`controller`,`controller`再将结果返回给前端。