001Spring框架001初识Spring
1 概述
1.1 是什么
Spring是一个轻量级开源框架。
Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现EJB的某些功能,而且更加优雅和简洁。
1.2 本质
Spring的本质是管理软件中的对象,如何创建对象和维护对象之间的关系。
1.3 优良特性
1.3.1 非侵入式
基于Spring开发的应用中的对象可以不依赖于Spring的API,即不需要实现或者继承Spring的接口和类。
1.3.2 依赖注入
依赖注入(DI,Dependency Injection),是反转控制(IOC)思想最经典的实现。
在之前的开发中,如果需要用到某个类的实例,需要开发人员主动创建这个类的实例。反转控制就是反转了这个类的获取方式,不再由开发人员手动创建实例,交由IOC容器来提供类的实例,开发人员只需要声明这个类即可,IOC容器会通过依赖注入的方式将资源准备好。
1.3.3 面向切面编程
面向切面编程(AOP,Aspect Oriented Programming),使用简单的方式进行代码开发。
1.3.4 容器
Spring是一个容器,因为它包含并且管理应用对象的生命周期。
1.3.5 组件化
Spring实现了使用简单的组件配置组合成一个复杂的应用,可以使用XML和Java注解组合这些对象。
1.3.6 一站式
在IOC和AOP的基础上可以整合企业应用的开源框架和第三方类库,Spring自身也提供了表述层的SpringMVC和持久层的SpringJDBC。
2 Spring模块
2.1 Spring核心容器
Beans、Core、Context、SpEL。
2.2 SpringAOP
AOP、Aspects。
2.3 Spring数据库
JDBC、ORM、OXM、JSM、Transaction。
2.4 Spring应用
WebSocket、Servlet、Web、Portlet。
3 下载
进入Spring官网:
https://spring.io/projects/spring-framework
点击GitHub图标:
在GitHub页面中找到:
在下载页面中找到资源地址:
在页面中左侧的导航栏中选择Artifacts并在右侧的文档树找到release文件夹:
在release文件夹中可以通过release/org/springframework/spring/路径找到spring资源目录,也可以通过网址:
https://repo.spring.io/ui/native/release/org/springframework/spring/
进入资源目录后选择版本下载spring-版本-dist.zip即可。
4 导包
4.1 核心
这四个是Spring的核心包,能够在xml文件中配置bean。
1 spring-beans-4.0.0.RELEASE.jar 2 spring-context-4.0.0.RELEASE.jar 3 spring-core-4.0.0.RELEASE.jar 4 spring-expression-4.0.0.RELEASE.jar
4.2 依赖
用来记录日志的包。
1 commons-logging-1.1.3.jar
4.3 AOP注解
用来对类进行注解,将类注入到IOC容器中,同时必须设置扫描。
根据类型进行自动装配。
1 spring-aop-4.0.0.RELEASE.jar
4.4 Spring的AspectJ工具
1 spring-aspects-4.0.0.RELEASE.jar
4.5 AspectJ动态代理
1 com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 2 com.springsource.net.sf.cglib-2.2.0.jar 3 com.springsource.org.aopalliance-1.0.0.jar
4.6 数据库事务
1 spring-jdbc-4.0.0.RELEASE.jar 2 spring-orm-4.0.0.RELEASE.jar 3 spring-tx-4.0.0.RELEASE.jar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)