三层架构:
- controller:控制层,接收前端发送的请求,对请求进行处理并响应数据
- service:业务访问层, 处理具体业务逻辑
- dao(mapper):数据访问层(持久层),负责数据库操作,增删改查等.
内聚和耦合:
- 内聚: 一个模块内部各个部分的相关程度.
- 耦合: 不同模块之间的依赖程度.
- 软件的设计原则: 高内聚低耦合. 高内聚意味着模块的功能更加专注,职责单一。 低耦合意味着模块之间相互独立,修改一个模块时不会影响到其他模块。
IOC和DI:
- 控制反转: 简称
IOC
, 即对象的创建控制权由程序自身转移到外部(容器或框架) - 依赖注入: 简称
DI
, 即通过外部容器将一个对象的依赖注入到该对象中,而不是由对象自己去创建这些依赖. 比如A类需要B类才能工作,一般我们会在A类中创建B的实例,但是通过依赖注入可以由外部容器实现,不用再自己创建B的对象. - Bean对象:IOC容器中创建,管理的对象,称为bean.
IOC
-
实现: 使用
@Component
注解将一个类标识为 Bean,这样 Spring 容器就能自动将它管理起来,生成对应的实例; 一般把service和dao的实现类交给IOC容器管理 . -
使用:在Controller层的代码上加上
@Autowired
注解, 无需创建service层的对象即可调用service的方法; 同样的,在Service层加上该注解 , 调用dao层的方法. -
要切换实现,把
Component
注解注释即可.
-
衍生注解的使用:
-
依赖注入注解:
-
开发规范