Spring学习(一)
1.俯瞰Spring

1.1 核心容器(Core Container)
spring最核心的部分,core和beans为spring提供最基本的功能,包括依赖注入。该模块还包括BeanFactory—一个工厂的实现类。Context模块继承了Beans模块,并支持国际化、事件传播、资源加载等。spring-expression模块(SpEL)提供在运行时查询和操作对象的语言。这种语言支持获取和设置属性、方法执行、获取数组或集合中的对象、逻辑计算、命名变量,在Spring的IoC容器中获得对象。
1.2 AOP模块
与DI一样,AOP可以帮助应用对象解耦,借助于该模块,可以将遍布系统的关注点(如事务和安全代码)从它们应用的对象中解耦出来。
1.3 数据访问模块
jdbc模块主要为了解决数据库操作的样板代码,使数据库代码变得简单明了。tx模块提供编程式或声明式事务处理。orm模块提供流行的对象关系映射的APIs,包含JPA和Hibernate.。oxm模块提供对Object/XML映射的支持,例如JAXB,Castor,JiBX和XStream。jms模块(Java Message Service)使得消息以异步的方式与其他应用集成。在Spring4.1以后,它集成了spring-messaging模块。
1.4 WEB
web模块提供面向Web方法的集成特性,例如多部分文件上传、监听初始化IoC容器和面向Web的Context,还包含HTTP客户端和对远程的支持。webmvc模块(也被称作Web-Servlet模块)包含Spring MVC框架。spring4开始支持websocket模块,其提供对socket的全面支持。
1.5 其他模块
(1)test模块通过JUnit或者TestNG来对Spring的模块进行单元测试和集成测试。它提供一致的Spring 的ApplicationContexts和context的缓存。它还提供mock对象让你测试你的代码。
(2)aspects模块提供与AspectJ的集成。
(3)instrument模块为特定的服务器提供类加载服务。spring-instrument模块是集成了Tomcat。
(4)Spring4提供了spring-messaging模块,主要类有Message,MessageChannel,MessageHandler。这个模块还包含一些映射消息到方法的注解,类似于Spring MVC基于编程模式的注解。
2.依赖注入与控制反转
DI和IOC是讲的同一件事,DI侧重于实现,创建对象实例时,为这个对象注入所需属性值或其他对象的实例。IOC侧重于原理,创建对象实例的控制权从代码控制剥离到IOC容器控制。由IOC容器来管理对象的生命周期、依赖关系。
浙公网安备 33010602011771号