博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring知识点3
阅读量:6705 次
发布时间:2019-06-25

本文共 1853 字,大约阅读时间需要 6 分钟。

hot3.png

Bean的继承:

抽象bean

通过在bean元素添加属性abstract=”true”声明该bean为抽象的,即Spring容器在加载配置文件时不加载此bean。

注意:抽象bean不能被实例化,即不能通过ctx.getBean(“name”)得到bean的实例;也不能让其他的bean的ref指向该抽象bean。

 

定义子bean

通过添加bean元素的属性parent=”beanId”来指定子bean及它的父bean。

 

???Spring bean的继承与java中继承的区别:

 

Bean后处理器

Spring容器提供了一种bean,该bean无id,负责对容器中其他bean进行管理。该bean类必须实现BeanPostProcessor接口。该接口包含以下两个方法:

× postProcessorBeforeInitialization();

×  postProcessorAfterInitialization();

这两个方法在每个管理bean执行初始化前后执行。

 

 

容器后处理器

类似bean后处理器,实现BeanFactoryPostProcessor接口,重写postProcessBeanFactory()。

Spring提供了两种处理器:

× PropertyPlaceHolderConfigurer:调用属性文件中的值用在bean中;

× PropertyOverrideConfigurer.:调用属性文件中的值覆盖bean中相应有的值。

 

 

与容器交互

 

 

ApplicationContext介绍

国际化支持

ApplicationContext接口继承MessageSource接口,因此具备国际化功能。下面是MessageSource接口中定义的三个用于国际化的方法:

× String getMessage(String code,Object[] args,Locale loc);

× String getMessage(String code,Object[] args,String default,Locale loc);

× String getMessage(MessageSourceResolvable resolvable,Locale loc);

bean类通过id=”messageSource” class=”org.springframework.context.support.ResourceBundleMessageSource”来确定国际化。

 

 

事件处理

Spring的事件框架:

× ApplicationEvent:容器事件,必须由ApplicationContext发布。

× ApplicationListener:监听器,可由容器中的任何监听器bean担任。

 

Web应用中自动加载ApplicationContext

通过ContextLoader声明式的创建ApplicationContext。ContextLoader有以下两个实现类:

× ContextLoaderListener。(需要支持Servlet2.4规范的容器)。

在web.xml文件中添加如下代码(多个配置文件用逗号“,”隔开):

<context-param>

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

    <param-value>

/WEB-INF/appContext1.xml

,/WEB-INF/appContext2.xml

</param-value>

 

</context-param>

<listener>

       <listener-class>

       org.springframework.web.context.ContextLoaderListener

       </listener-class>

</listener>

×  ContextLoaderServlet。

在web.xml文件中添加如下代码:

<servlet>

       <servlet-name>demoServlet</servlet-name>

       <servlet-class>

           org.springframework.web.context.ContextLoaderServlet

       </servlet-class>

</servlet>

转载于:https://my.oschina.net/u/2317688/blog/508889

你可能感兴趣的文章
jQuery入门(2)使用jQuery操作元素的属性与样式
查看>>
贴片电阻分类、阻值、功率、封装、尺寸
查看>>
scala+hadoop+spark环境搭建
查看>>
Mqtt协议IOS端移植2
查看>>
Stitching模块中leaveBiggestComponent初步研究
查看>>
使用PrintWriter out=response.getWriter();输出script脚本时乱码解决
查看>>
X.509证书及CeritificationPath及PKCS
查看>>
项目笔记:导出Excel功能设置导出数据样式
查看>>
Python yield 使用
查看>>
【Eclipse】eclipse中设置tomcat启动时候的JVM参数
查看>>
10.查看npm安装信息和版本号
查看>>
国际化环境下系统架构演化
查看>>
Linux系统如何将某一程序设置为开机自启动
查看>>
C#跟着阿笨玩一起玩异步Task实战(一)
查看>>
Sqoop-1.4.6安装部署及详细使用介绍
查看>>
oracle 存储过程 示例
查看>>
正态分布与中心极限定理
查看>>
cf1027F. Session in BSU(并查集 匈牙利)
查看>>
Chrome 主页被篡改
查看>>
糟糕的软件设计:幻想出来的问题
查看>>