1、三层架构
controller:控制层,接受前端发送的请求,对请求进行处理并响应数据
service:业务逻辑层
dao:数据访问层,包括增删改查
2、分层解耦
内聚:软件中各个功能模块内部的功能联系
耦合:衡量软件中各个层、模块之间的依赖关联程度
3、IOC:控制反转 & DI依赖注入 &Bean容器
控制反转:Service层及Dao层实现类(@Component),交给IOC容器管理
依赖注入:Controller及Service运行时需要依赖Service与Dao @Autowired
IOC容器对象称为Bean对象
通过IOC与DI解耦
4、声明Bean的注解
@Component
@Controller
@Service
@Repository(Dao层)
5、DI依赖注入
@Autowired(自动装配)
Controller与Service需要
有两个Service有了Autowired会报错,在需要生效的类加@Primary
或@Qualifier(“类名”)
@Resource与@Autowired区别
A是spr框架提供,而R是jdk
A是按类型注入,而R默认按名称注入