Springboot注解
DAO、Service、Controller
1、dao层
dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。
DAO层所定义的接口里的方法都大同小异,这是由我们在DAO层对数据库访问的操作来决定的,对数据库的操作,我们基本要用到的就是增删改查等方法。因而DAO层里面基本上都应该要涵盖这些方法对应的操作。除此之外,可以定义一些自定义的特殊的对数据库访问的方法。
2、service层
service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类,service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。
3、controller层
controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制前后端交互。
4、view层
view层与控制层结合比较紧密,需要二者结合起来协同开发。view层主要负责前台jsp页面的显示。
5、它们之间的关系:
Service层是建立在DAO层之上的**,建立了DAO层后才可以建立Service层**,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
一、
@Controller、@Service、@Component、@Repository
这几个注解放在一起是因为功能基本一样的,都是将类注入到spring容器中,只不过它们使用的场景不同,被@Component,@Service,@Controller,@Repository注解标注的类,这些类会被纳入进spring容器中管理。
@Service将实现类注册到bean中,然后通过@Autowired去获取值
User:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
String name;
String sex;
}
UserService接口
public interface UserService {
public User get();
}
UserServiceImpl:
@Service //在实现类中加,不能在接口上加
public class UserServiceImpl implements UserService {
public User get() {
User user = new User("1", "wo");
System.out.println(user);
return user;
}
}
UserController:
@RestController
@RequestMapping("action")
public class UserController {
@Autowired
private UserService userService;
@GetMapping