========== Spring架构 ========== Spring官网:https://spring.io/ - Spring Framework:Spring框架 - IoC - AOP - Spring Boot:用于快速整个项目的工具 - Spring Data:数据访问客户端 - 访问数据库:JPA - 访问Redis - 访问Elasticsearch - Spring Cloud:微服务架构 - Spring Security:安全框架,用户认证与授权 ... Spring框架(Spring Framework)的基本架构: _______________________ _______________________ |Data Access/Integration| | Web | |-----------------------| |-----------------------| | JDBC | ORM | | | | ------------ | | WebSocket | Servlet | | OXM | JMS | | -------------------- | | ------------ | | Web | Portlet | | Transactions | | | |_______________________| |_______________________| _____ _________ _______________ ___________ | AOP | | Aspects | |Instrumentation| | Messaging | |_____| |_________| |_______________| |___________| _________________________________________________ | Core Container | |-------------------------------------------------| | Core | Beans | Context | SpEL | |____________|___________|_____________|__________| _________________________________________________ | Test | |_________________________________________________| - Core Container:核心容器,创建并管理对象实例 - Core:核心功能 - Beans:实例管理 - Context:容器上下文 - SpEL:Spring Expression Language,Spring表达式语言 - AOP和Aspects:Spring AOP组件,实现面向切面编程 - Web:Spring MVC框架,实现Web项目的模型-视图-控制结构 - Data Access:持久层框架,封装JDBC - Transactions:事务管理组件(tx) - 即使不用MyBatis,仅通过Spring也可以访问数据库 - 在实际开发中更倾向于使用MyBatis作为持久层框架 - 事务,可以不用MyBatis而用Spring的事务管理组件 - Test:单元测试组件 - 提供Spring环境下的单元测试功能 - 在Spring环境下仅通过JUnit无法完成单元测试