Spring框架基础
1 什么是Spring框架?
Spring框架是框架的框架,因为其提供了对如Structs,Hibernate,等框架的支持,应用Spring框架可以解决不同的技术上的问题(开发网页应用?)。
Spring框架的优势:
- 预定义了许多模板。
封装了JDBC,Hibernate,JPA等许多模板。让我们无需了解其具体技术细节就可以很轻松的使用它们。 - 代码松耦合。
由依赖注入提供。 - 易于测试
也是因为依赖注入的特性 - 轻量级
由于POJO的存在,Spring框架不需要程序员继承任何类或者接口。 - 快速部署
因为Spring框架支持不同的框架,这使得它很容易开发JavaEE应用 - 强大的抽象
对JavaEE的抽象 - 提供声明式支持
提供对缓存,验证,事务和格式的声明式支持。
2 Spring模块
- Test模块
提供:使用JUnit和TestNG进行测试 - Core Container
- Core & Beans
提供IOC和依赖注入特性- Context
提供标准国际化,EJB,JMS,基础远程 - Expression Language
EL和JSP的扩展,提供支持:设置和获取属性值、方法调用、访问集合、索引器、访问变量、逻辑和数学操作,通过对象名检索对象等
- Context
- AOP & Aspects & Instrumentation(检测)
面向切面编程- Aspects
提供:与AspectJ集成 - Instrumentation
提供:类检测、实现类加载器
- Aspects
- Data Access / Integration(数据访问与集成)
与数据库交互- JDBC
- ORM
- OXM
- JMS
- Transaction
- Web (MVC / Remoting)
创建Web应用- Web
- Web-Servlet
- Web-Struts
- Web-Portlet
- Core & Beans
3 Spring控制反转和依赖注入的一个小例子
控制反转和依赖注入:消除代码中的依赖关系。
Spring使用控制反转和依赖注入来使程序达到松耦合的目的。
看一个小例子:
class Employee{
Address address;
Employee(){
address=new Address();
}
}
这个例子中,职员类依赖了地址类。创建职员类时,先要创建地址类。
class Employee{
Address address;
Employee(Address address){
this.address=address;
}
}
这个例子中,创建职员类时,由外部传入地址类,不用再在职员类中创建,实现了代码的松耦合。
参考文章:https://www.javatpoint.com/spring-tutorial