前言

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配置步骤

  1. 导入spring jar包
  2. 创建spring配置文件spring.xml
  3. 书写头部信息
    <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"
    
    >

     

  4. 在spring配置文件中注入javabean
    <bean id="iStudentInfoDao" class="org.dyc.dao.impl.StudentDaoImpl"></bean></beans>

     

  5. 在测试类中加载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("小白");
    	}
                                                                                                                       }   
    

     

  6. 读取配置文件注入的bean


总结

  • Spring的作用:Spring是一个大管家,具有耦合作用
  • Spring的核心jar包有:spring-beans,spring-context,spring-core,spring-expression
  • spring配置步骤
  1. 导入spring jar包
  2. 创建spring配置文件spring.xml
  3. 书写头部信息
  4. 在spring配置文件中注入javabean
  5. 在测试类中加载spring.xml配置文件
  6. 读取配置文件注入的bean

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐