Spring AOP:
面向切面,通过配置,spring容器能够管理对象。另外提供了事务管理、日志、安全等服务。
Spring ORM:
提供了对常见ORM框架的支持,比如Hibernate、mybatis等。
Spring DAO:
DAO将常见的编写数据代码(比如获取链接、创建语句、释放)时的模板抽象出来,并建立了数据库异常层,用来处理各个数据库抛出的异常。
Spring Web:
提供了基本的面向web的功能,比如文件上传。
Spring Context:
应用上下文模块,扩展了BeanFactory,添加了国际化、应用生命周期时间及验证的支持,另外还提供了很多企业级服务,例如电子邮件,jndi,定时服务,并且支持与模板框架(Freemarker、velocity)的支持。
Spring Web mvc:
轻量级的mvc实现。
Spring Core:
Spring的核心层,使用Spring必须用到的,提供了Spring容器,在这里可以找到BeanFactory和ApplicationContext类,是Spring DI的基础。
2,Spring 开发包
我这里使用的是spring-framework-3.2.0.RELEASE-dist.zip。
Docs:相关的文档。
Lib:jar包。Xxx.jar开发用jar包,xxx-javadoc.jar对应的文档,xxx-sources.jar包含源代码。
Shema:约束,用来验证xml的正确性。
3,IOC与DI
IOC:控制反转,将bean的创建与管理(反射机制)交给Spring容器。
DI:依赖注入,在类A中有一个属性类B,即创建类A时必须先有B,那么这种关系称为依赖。可以在类A中设置类B的set方法,并通过配置将类B注入。
4,IOC装配Bean(非注解)
Bean的实例化
构造方法(无参数)实例化
静态工厂实例化
动态工厂实例化
Bean属性注入
构造方法注入(通过参数)
基本类型
引用类型
集合类型
Set
Map
List
Properties
名称控件p:注入属性
SpEL属性的注入
Bean的其他属性
Init-method:Bean的初始化时执行的方法。
Destroy-method:Bean销毁时调用的方法,需要调用context的close()方法。
5,IOC装配Bean(注解)
Bean的实例化
@Component,描述Spring中的Bean。
@Controller,对Controller类进行标注。
@Service,对Service类进行标注。
@Repository,对Dao类进行标注。
Bean的属性注入
@value,普通属性。
@Autowired,对象属性。
@Qualifier,按名称注入,配合@Autowired使用。
@Resource,@Resource(name=”xxx”)等价于@Autowired与@Qualifier的组合。
Bean中方法的其他注解
@PostConstrut,Bean初始化时执行的方法。
@PreDestory,Bean销毁时执行的方法。