Spring框架简介(一)

Spring是什么?

   Spring框架致力于JavaEE应用各层的解决方案,Spring贯穿了表现层、业务层、持久层。然而,Spring并不是取代那些已有的框架,而是以高度的开放性与他们无缝整合。下图是Spring框架通过IOC和AOP事务管理进行的SSH整合,其中包括了Shiro安全框架,用于身份验证。

Spring的特点

  •  轻量级Spring是非侵入性-基于Spring开发的应用中的对象可以不依赖于SpringAPI,也就是不需要继承或者实现接口或者实现类。
  •  依赖注入(DI--- dependencyinjectionIOC),如A需要调用B,则A依赖B,只需要在A中声明,Spring容器会将B的Bean注入A中。
  •  面向切面编程(AOP--- aspect oriented programming)
  •  容器:Spring是一个容器, 因为它包含并且管理应用对象的生命周期
  •  框架:Spring实现了使用简单的组件配置组合成一个复杂的应用.Spring中可以使用XMLJava注解组合这些对象
  •  一站:在IOCAOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供了展现层的SpringMVC和持久层的Spring JDBC


Spring模块图


   Spring主要由org.springframework.core、org.springframework.beans、org.springframework.context、org.springframework.expression 包组成,当使用Spring框架时必须使用Spring Core Container ,包含了核心(Core),Bean组件(Beans),上下文(Context)和表达式语言(Expression Language)模块。

Spring的模块大概分为6个,分别是:

1、Core Container(Spring的核心)【重要】

2、AOP(面向切面变成)【重要】

3、Messaging(消息发送的支持)

4、Data Access/Integration(数据访问和集成)

5、Web(主要是SpringWeb内容,包括MVC)【重要】

6、Test(Spring测试支持,包含JUint等测试单元的支持)

7、Instrumentation(设备支持,比如Tomcat的支持)

     如果需要发布使用了Spring框架的 Java Web 项目,还需要将Spring框架包和commons-loggin-1.1.3.jar添加到Web应用的WEB-INF路径下。

    Spring核心容器管理着一切Java对象和Java组件,Spring一切管理的对象均被称为bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
	<!-- Spring配置可以管理一切java对象和组件 -->
	<bean id="string" class="java.lang.String"></bean>
	<!-- 将User类交给Spring管理器进行管理 -->
	<bean id="User" class="org.jcq.bean.User"></bean>
</beans>

Spring框架内对配置文件进行解析,Spring底层会执行如下形式的代码

	//解析XML<bean>标签中的id属性的值
		String idStr = "user";
		//解析XML<bean>标签中的class属性的值
		String classStr = "org.jcq.bean.User";
		//通过反射获取Class类
		Class clazz=Class.forName(classStr);
		//用Class类获取对象
		Object obj=clazz.newInstance();
		//以key-value的方式将obj放到Spring容器中便于管理
		container.put(idStr,obj);
    Spring中被人使用最多的可能就是他的依赖注入了,比如SSH整合的时候,必然会使用Spring的依赖注入。依赖注入简写DI,全称:Dependency Injection。依赖注入也有另外一个名字叫做控制反转(IOC)。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜马拉雅以南

奶茶,干杯?!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值