Spring筆記

Spring

 

对于开发者来说,开发者使用Spring框架所做的主要是两件事:1、开发Bean;2、配置bean。对于Spring框架来说,它要做的,就是根据配置文件来创建Bean实力,并调用Bean实例的方法完成“依赖注入”—这就是所谓的IoC的本质。这就要求开发者在使用Spring框架是,眼中看到的是“XML配置”,心中想的是“java代码”。后面学习时,要尽可能的理解“每段XML配置”在底层所对应的“java代码调用”。

问题:1、什么是Bean?什么是javabeen?(好好思考理解)

 

Spring的核心机制:IoC(控制反转)是Spring框架的核心。依赖注入(java应用大多数都是由一些互相协作的对象构成的,sprin把这种互相协作关系称为依赖关系,假如A组件调用了B组件的方法,我们称A组件依赖于B组件)

   所谓的依赖注入,是指程序运行过程中,如果需要另一个对象协作(调用它的方法,访问它的属性时,无需再代码中创建被调用者,而是依赖外部容器的注入。Spring的依赖注入对调用者和被调用者机会没有任何要求,完成对POJO之间依赖关系的管理)

   依赖注入通常有如下

1、设值注入:IoC容器使用属性的setter方法来注入被依赖实例。   2、构造注入:IoC容器使用构造器来注入被依赖实例。

 

理解implements和extends

implements一般是实现接口。
extends 是继承类。

接口一般是只有方法声明没有定义的,
那么java特别指出实现接口是有道理的,因为继承就有感觉是父类已经实现了方法,而接口恰恰是没有实现自己的方法,仅仅有声明,也就是一个方法头没有方法体。因此你可以理解成接口是子类实现其方法声明而不是继承其方法。
但是一般类的方法可以有方法体,那么叫继承比较合理。
引入包可以使用里面非接口的一切实现的类。那么是不是实现接口,这个你自己决定,如果想用到那么你不是实现,是不能调用这个接口的,因为接口就是个规范,是个没方法体的方法声明集合。我来举个例子吧:接口可以比作协议,比如我说 一个协议是“杀人”那么这个接口你可以用 砍刀去实现,至于怎么杀砍刀可以去实现,当然你也可以用抢来实现杀人接口,但是你不能用杀人接口去杀人,因为杀人接口只不过是个功能说明,是个协议,具体怎么干,还要看他的实现类。
那么一个包里面如果有接口,你可以不实现。这个不影响你使用其他类。

 

Spring整合Struts2

   Spring提供了一个ContextLoaderListener,该监听器类实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查找WEB-INF/下的applicationContext.xml文件,因此,如果只有一个配置文件,并且文件名为applicationContext.xml,则只需在web.xml文件中增加如下配置便可。

<listener>

     <listener-class>org.springframework.web.context.ContextLoaderListene</listener-class>

</listener>

如果有多个配置文件需要载入,则考虑使用<context-param…>元素来确定配置文件名。ContextLoaderListener加载时,会查找名为contextCcofigLocation的初始化参数。因此,配置<context-param…/>是应指定参数名为contextConfigLoacation。

带多个配置文件的web.xml文件如下:

<?xml-app  xmls=”http//java.sun.com/xml/ns/javaee”

           Xmls=”http://www.w3.org/2001/XMLSchema-instance”

Xsi:schemaLoaction=http://java.sun.com//xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app.xsd”version=”3.0”>

<!—指定多个配置文件-->

<context-param>

     <!—参数名为ContextConfigLocation-->

     <param-name>contextConfigLocation</param-name>

     <!—多个配置文件之间以“,”隔开-->

     <param-value>/WEB-INF/daoContext.xml,/WEB-INF/applicationContext.xml

     </param-value>

     <!—使用ConfigLoaderListener初始化Spring容器-->

 

posted @ 2015-01-04 08:38  rong.peimiao  阅读(132)  评论(0编辑  收藏  举报