文章目录
一、Spring概述
1.1 Web开发中的一些问题
- 传统Web开发存在硬编码所造成的过度程序耦合(例如:Service中作为属性Dao对象)
- 部分Java EE API较为复杂,使用效率低(例如:JDBC开发步骤)
- 侵入性强,移植性差(例如:DAO实现的更换,从Connection到SqlSession)
1.2 什么是Spring?
- Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用
- Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)
- Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称"胶水框架"
1.3 官网
官方网站:https://spring.io/
GitHub:https://github.com/spring-projects
下载地址:http://repo.spring.io/release/org/springframework/spring/
1.4 Spring架构组成
Spring架构由诸多模块组成,可分类为
- 核心技术:依赖注入 ,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP
- 测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。
- 数据访问:事务 ,DAO支持,JDBC,ORM,封装XML。
- Spring MVC和 Spring WebFlux Web框架。
- 集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。
- 语言:Kotlin,Groovy,动态语言。
Spring特点 |
---|
Spring架构 |
1.5 Spring依赖
GroupId | ArtifactId | 说明 |
---|---|---|
org.springframework | spring-beans | Beans 支持,包含 Groovy |
org.springframework | spring-aop | 基于代理的AOP支持 |
org.springframework | spring-aspects | 基于AspectJ 的切面 |
org.springframework | spring-context | 应用上下文运行时,包括调度和远程抽象 |
org.springframework | spring-context-support | 支持将常见的第三方类库集成到 Spring 应用上下文 |
org.springframework | spring-core | 其他模块所依赖的核心模块 |
org.springframework | spring-expression | Spring 表达式语言,SpEL |
org.springframework | spring-instrument | JVM 引导的仪表(监测器)代理 |
org.springframework | spring-instrument-tomcat | Tomcat 的仪表(监测器)代理 |
org.springframework | spring-jdbc< |