Spring的作用
前言Spring框架是一个轻量级的Java开发框架,解决业务逻辑层和其他各层的耦合问题。Spring负责基础架构,Java开发者可以专注于应用程序的开发。一、核心容器由spring-beans、spring-core、spring-context、spring-expression 4个模块组成。spring-core:控制反转loC(Inversion of Control)与依赖注入DI(De
·
前言
Spring框架是一个轻量级的Java开发框架,解决业务逻辑层和其他各层的耦合问题。Spring负责基础架构,Java开发者可以专注于应用程序的开发。
一、核心容器
由spring-beans、spring-core、spring-context、spring-expression 4个模块组成。
- spring-core:控制反转loC(Inversion of Control)与依赖注入DI(Dependencylnjection)的基本实现,控制反转是种设计思想,即将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
- spring-beans: Bean工厂与bean的装配,BeanFactory接口使用控制反转对应用程序的配置、依赖性规范与实际的应用程序代码进行分离。但是BeanFactory容器实例化后并不会自动实例化Bean,只有当Bean被使用时BeanFactory容器才会对该Bean进行实例化与依赖关系的装配。
- spring-context: spring的context上下文,即loC容器,它扩展了BeanFactory,为它添加了Bean生命周期管理、框架事件体系、资源加载透明化等功能,此外该模块还提供了很多企业级支持,如远程访问、任务调度等。ApplicationContext是该模块的核心接口,它扩展了BeanFactory,ApplicationContext容器实例化后会自动对所有的单实例Bean进行实例化与依赖关系的装配,使之处于待用状态。
- spring-expression: spring表达式语言,是统计表达式语言(EL)的扩展模块,可以查询、管理运行中的对象,同时也方便的可以调用对象方法、操作数组、集合等。最出色的要数函数调用和简单字符串的模板函数。
二、使用步骤
1.AOP和INSTRUMENTATION
- Spring-aop模块:提供了一个符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净地解耦。
- Spring-aspects模块:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的AOP框架。
- Spring-instrument模块:提供了类植入(instrumentation)支持和类加载器的实现,可以在特定的应用服务器中使用。
2.数据访问/集成
- 数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。
- Spring-jdbc模块:提供了一个JDBC的抽象层,消除了繁琐的JDBC编码和数据库广商特有的错误代码解析。
- Spring-tx模块(事务模块)︰支持用于实现特殊接口和所有POJO(普通Java对象)类的编程和声明式事务管理。
- Spring-orm模块:为流行的对象关系映射(Object-Relational
- Mapping )API提供集成层,包括JPA和Hibernate。使用Spring-orm模块,可以将这些O/R映射框架与Spring提供的所有其他功能结合使用,例如声明式事务管理功能。
- Spring-oxm模块:提供了一个支持对象/XML映射的抽象层实现,如JAXB、Castor、JiBX和XStream。
- Spring-jms模块(Java Messaging Service):指Java消息传递服务,包含用于生产和使用消息的功能。自Spring 4.1后,提供了与Spring-messaging模块的集成。
3.WEB
- Web层由Spring-web、Spring-webmvc、Spring-websocket和Portlet模块组成。
- Spring-web模块:提供了基本的Web开发集成功能。例如:多文件上传功能、使用Servlet监听器初始化一个loC容器以及Web应用上下文。
- Spring-webmvc模块:也称为Web-Servlet模块,包含用于Web应用程序的Spring MVC和REST Web Services实现。Spring MVC框架提供了领域模型代码和Web表单之间的清晰分离,并与 SpringFramework的所有其他功能集成,本书后续章节将会详细讲解SpringMVC框架。
- Spring-websocket模块:Spring 4.0后新增的模块,它提供了WebSocket和SockJS的实现。
- Portlet模块:类似于Servlet模块的功能,提供了在Portlet环境中使用MVC实现。
4.spring配置步骤
- 导入spring jar包
- 创建spring配置文件spring.xml
- 书写头部信息
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd" >
- 在spring配置文件中注入javabean
<bean id="iStudentInfoDao" class="org.dyc.dao.impl.StudentDaoImpl"></bean></beans>
- 在测试类中加载spring.xml配置文件
public class Text { public static void main(String[] args) { text1(); } private static void text1() { // TODO Auto-generated method stub ApplicationContext ac=new ClassPathXmlApplicationContext("Spring.xml"); IStudentInfoDao isd=ac.getBean("iStudentInfoDao",IStudentInfoDao.class); isd.sayHello("小白"); } }
- 读取配置文件注入的bean
总结
- Spring的作用:Spring是一个大管家,具有耦合作用
- Spring的核心jar包有:spring-beans,spring-context,spring-core,spring-expression
- spring配置步骤
- 导入spring jar包
- 创建spring配置文件spring.xml
- 书写头部信息
- 在spring配置文件中注入javabean
- 在测试类中加载spring.xml配置文件
- 读取配置文件注入的bean
更多推荐
已为社区贡献1条内容
所有评论(0)