背景
- 简化SSM(H)中大量的配置工作,开发人员只关心提供业务功能
- 可以看成简化了的、按照约定开发的SSM(H)
概念
- JavaBean:满足规范的Java类(属性private+默认构造方法+getter/setter+serializable实现)
- PO(persistent object):持久对象,一个表对应一个PO
- VO(view object):表现层对象,用于业务层之间的数据传递,根据业务需要决定是否与表对应
- BO(business object):业务对象,封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作,由多个PO组成
- DAO(data access object):数据访问对象,包含各种数据库操作方法,和PO结合使用访问数据库,位于业务逻辑层和数据库资源中间
- DTO(data transfer object):数据传输对象,用于远程对象传输
- POJO(plain ordinary java object):简单无规则java对象,普通JavaBean
包
- config
- dao
- pojo
- service
- util
- web
- exception
- test
类
- ModelAndView:用来存储处理完后的结果数据,以及显示该数据的视图
注解
- @Controller:在对应的方法上,视图解析器可以解析return 的jsp、html页面
- @Repository:将类识别为Bean
- @Service
- @Component
- @ResponseBody:返回json等内容到页面
- @RestController:@ResponseBody + @Controller
- @ControllerAdvice
- @Autowired:对成员变量、方法、构造函数进行标注,完成自动装配Bean工作
- @RequestMapping:实现页面跳转
整合
- Hibernate:ORM框架,数据库封装,实现MVC中的M
- Mybaitis:轻量ORM框架,数据库半封装,需要自己写SQL语句
- elasticsearch:搜索引擎
- Kibana:配套 elasticsearch 的数据分析工具
- redis:缓存
参考
注解@Autowired是如何实现的
https://blog.csdn.net/topdeveloperr/article/details/87971446
一文搞懂:java中的VO、PO、BO、DAO、POJO
https://www.cnblogs.com/shilei-ysl/p/11032304.html
Java bean 是个什么概念
https://www.zhihu.com/question/19773379
Hibernate与 MyBatis的比较