1.spring是一个企业级、轻量级 开源分层架构。
2.spring优势:
-
低侵入设计,代码的污染极低
-
方便解耦,简化开发
通过Spring提供的IOC容器,可以将对象之间的依赖关系交由Spring进行控制,笔辩硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更颛臾上层应用。
-
方便程序测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。
-
spring的ORM和DAO提供了与第三方持久层框架 ,解决以来冲突问题。
-
spring的AOP支持将一些通用任务(事务处理、日志管理、权限控制等),提高了更好的复用。
3.spring最主要的两大核心思想:
控制反转(IOC)和面向切面编程(AOP)
IOC:解耦
AOP:简化
为Java应用程序开发提供组建管理器;
用于组件之间解耦;
简化第三方JavaEE中间技术deshiyong(JMS、任务调度、缓存、ORM、框架)。
4.spring常用5个模块:
-
1. Core 核心模块
包括:IOC Container(IOC 容器),Event(事件通知机制),Resource(资源加载机制),Il8n(国际化),Validation(数据校验),Data Binding(数据绑定),Type Conversion(类型转换),spEL (Spring MVC),AOP (面向切面编程);
-
2.Test 测试模块
包括:Mock object(测试模拟对象),TestContext Framework(测试框架),Spring MVC Test(用于测试 Spring MVC),WebTestClient(用于测试WebClient、Restful、Webflux等);
-
3.Data Access 数据访问模块
包括:Transaction(事务管理),DAO Support(Data Access Object DAO 模式封装),JDBC(Spring 对于JDBC的操作封装),O/R Mapping (Spring 对于对象关系映射框架的封装,例如Hibernate等框架)等;
-
4.Web Servlet 基于Servlet的Web开发
包括:Spring MVC(Spring 基于MVC模式设计封装的Web框架),WebSocket(Spring 集成WebSocket,WebSocket是一个服务器与客户端双向通信的技术)等;
-
5.Integration 企业级系统集成模块(不同系统之间的交互集成)。
包括:Remoting(Spring 用于在分布式系统中进行远程服务调用的通讯框架),JMS,(Spring集成各类java消息中间件、java消息服务[Java Message Service],例如ActiveMq等),Java Email(邮件发送),Tasks Scheduling(任务调用);
5.Spring环境搭建
1.坐标 2.配置文件
5.1 配置文件
5.2坐标