1. 核心容器(Core Container):
• BeanFactory:Spring的根基接口,定义了IoC(控制反转)容器的基本功能,负责实例化、配置和装配bean。
• ApplicationContext:BeanFactory的子接口,提供了更丰富的功能,如事件传播、声明式生命周期管理等。它是Spring IoC容器的实际实现。
2. Bean工厂(Bean Factory):
• 负责实例化、配置和装配Spring应用程序中的对象,这些对象被称为bean。Bean工厂是Spring IoC容器的核心。
3. AOP(面向切面编程):
• Spring AOP模块提供了面向切面编程的实现,允许开发者在不修改源代码的情况下,将横切关注点(如日志、事务管理等)织入到业务逻辑中。
• 切面(Aspect):跨越多个类和对象关注点的模块化,如日志记录。
• 连接点(Joinpoint):在程序执行过程中能够插入切面的点,如方法调用或异常抛出。
• 通知(Advice):切面在特定连接点执行的动作,如前置通知、后置通知等。
• 切入点(Pointcut):定义切面连接点的集合,用于匹配连接点。
4. 上下文(Context):
• Spring上下文是一个配置文件,向Spring框架提供上下文信息。它扩展了BeanFactory的功能,提供了国际化、事件传播、资源加载等额外功能。
5. Spring MVC:
• Spring MVC是一个基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。
• DispatcherServlet:前端控制器,负责接收请求并分发到相应的处理器。
• 视图解析器(ViewResolver):将逻辑视图名解析为具体的视图对象。
• 视图(View):负责渲染模型数据到客户端。
6. JDBC和ORM模块:
• Spring JDBC模块提供了JDBC抽象层,简化了数据库访问代码。
• ORM模块提供了对ORM框架的支持,如Hibernate、JPA等,简化了持久层的开发。
7. 事务管理(Transaction Management):
• Spring提供了声明式和编程式两种事务管理方式,使得开发者能够轻松管理数据库事务。
• 事务管理器(PlatformTransactionManager):管理事务的生命周期,包括开启、提交和回滚事务。
8. Web模块:
• 提供对Servlet API和Portlet API的支持,简化了Web应用的开发。
9. 测试模块(Test):
• Spring测试模块提供了对JUnit和TestNG等测试框架的支持,使得开发者能够编写和运行测试代码,验证Spring应用程序