推荐的package组织方式
com+- example+- myproject +- Application.java +- domain | +- Customer.java| +- CustomerRepository.java+- service | +- CustomerService.java+- web | +- CustomerController.java
项目分层
- View -> Controller -> Service -> Dao/Mapper -> Entity/Model
- View层(视图层) 前台jsp页面表示
- Controller(控制层) 负责具体的业务模块流程控制
- Service(业务层) 负责业务模块逻辑应用设计; 有利于业务逻辑的独立性和重复利用性
- Dao/Mapper(持久层) 数据持久化,数据库CRUD接口,封装了对数据库持久化操作。
- Entity/Model(实体层) 也称为pojo层,定义与数据库对象应的属性以及属性get/set方法的类
- Config(配置层) 用于存放springboot相关的配置类。
- Dto(数据传输层) Data Transfer Object; 用于前后端数据交互
为什么要定义 UserServier UserServiceImpl 2个?
- 原因:可能有不同数据库, Service类设计成一个接口,使控制层只依赖这个接口;
- 这样,当某天这个应用要跑在其它数据库上时,就而只需要增加一个serviceImpl类。