Spring框架的概念
现在java大部分项目都少不了会使用Spring框架,它是企业级Java开发最流行的框架,通过集成提供一站式解决方案,那么Spring框架到底是什么呢?Spring是一个轻量级的DI和AOP容器框架,Spring作为一个框架,提供了一些基础功能,(如事务管理,持久层集成等),使开发人员更专注于开发应用逻辑,提供了一套适用于任何场景的编程和配置模型来开发企业级Java应用程序。Spring的一个关键元素是在应用程序级别上提供基础设施支持:Spring专注于为企业级应用铺设“管道”(基础设施),研发团队因此可以集中在应用级别的业务逻辑上,无须与特定的部署环境绑定。
Spring的功能特点
Spring 容器提供了IOC机制,可以创建对象以及管理对象之间的调用关系,避免了硬编码造成的程序耦合;
提供了AOP(面向切面编程方式)功能,可以实现很多特定功能; 声明式事务控制处理;
对JDBC进行了轻量级的封装,可以更加灵活的去操作数据库;
提供了MVC设计模式的解决方案;提供了文件上传、定时器等常用工具类;
对于其他优秀框架的支持(如:Struts、Hibernate、MyBatis、Quartz等)
Spring体系
Spring建立了一个灵活的可热插拔的组件结构,其基础构架可以使用下图来描述:
Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
IoC概念详解
IoC=Inverse of Control,即反转控制,在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。
DI 依赖注入是实现IOC的一种方式,所谓依赖注入,即在运行期由容器将依赖关系注入到组件之中。是在运行期,由Spring根据配置文件,将其他对象的引用通过组件的提供的setter方法或者构造器进行设定。
Spring项目示例
public void main(String args[]) {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource resource = resolver.getResource("classpath:/**/ioc.xml");
BeanFactory beanFactory = new XmlBeanFactory(resource);
IoCDemo ioc = beanFactory.getBean("com.IoCDemo", IoCDemo.class);
log.info(ioc.getName());
}