• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > Spring.xml 标签配置补充

Spring.xml 标签配置补充

作者:光与热 字体:[增加 减小] 来源:互联网 时间:2017-12-08

光与热通过本文主要向大家介绍了标签,bean等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

使用ref来引用容器中其他对象实例,可以通过ref的local,parent,bean属性来指定引用的对象的beanName是什么

属性 说明
local 指定与当前配置的对象在同一个配置文件的对象定义的名称
parent 指定位于当前容器的父容器中定义的对象的引用
bean 适用于任何情况

对parent属性的说明:

BeanFactory可以分层次,通过实现HierarchicalBeanFactory接口,容器A在初始化的时候可以首先加载容器B中的所有对象定义,然后加载自身的对象定义

使用示例

<constructor-arg>
<ref parent="djNewsPersister"/>
</constructor-arg>

 

如果要往当前对象注入锁依赖的对象的名称而不是引用,那么通常可以使用value来完成

<property name="newsListenerBeanName"> 3
    <value>djNewsListener</value>
</property>

但是上面的情况可能会存在输错字,使用idref可以检查这个beanname所在的bean是否存在

<property name="newsListenerBeanName"> 3
    <idref>djNewsListener</idref>
</property>

 

bean可以作为内部bean标签

<constructor-arg index="0">
    <bean class="com.xxx.pojo.Student" />
</constructor-arg>

depends-on属性

spring容器会根据ref属性来指定bean的依赖,如果有时候没有使用ref标签就要使用depends-on属性来决定依赖关系

<bean id="bean1" class="...ClassA" depends-on="bean1,bean2"/>
<bean id="bean2" class="..."/>
<bean id="bean3" class="..."/>

autowire

指定当前bean采用某种类型的自动绑定模式
但是要注意的是自动绑定只应用于“原生类型、String类型以及Classes类型以外”的对象类型,对“原生类型、String类型和Classes类型”以及“这些类型的数组”应用自动绑定是无效的。

使用示例

<bean id="beanName" class="..." autowire="no"/>

bean有5中自动绑定模式
1.no
不使用任何形式的自动绑定,完全依赖于手工明确配置各个bean之间的依赖关系

<bean id="beanName" class="..." autowire="no"/>

2.byName
按照类中声明的实例变量的名称,与XML配置文件中声明的bean定义的beanName的值进行匹配

public class Bean{
    private Bean2 bean2;
    ...
}

<bean id="bean1" class="...Bean" autowire="byName">
</bean>
<bean id="bean2" class="...">
</bean>

3.byType
根据类型绑定,如果找不到相应的类型就自动报错

4.constructor
根据构造方法的参数类型进行的自动绑定

5.autodetect
这种模式是byType和constructor模式的结合体,如果对象拥有默认无参数的构造方法,容器会优先考虑byType的自动绑定模式。否则,会使用constructor模式。当然,如果通过构造方法注入绑定后还有其他属性没有绑定,容器也会使用byType对剩余的对象属性进行自动绑定。

dependency-check

该功能可以帮我们检查每个对象某种类型的所有依赖是否全部注入完成
1.none不做依赖检查
2.simple对简单类型以及相关类型的集合进行依赖检查
3.object只对引用类型进行检查
4.all将simple和object相结合

lazy-init

延迟初始化

 

list对应注入对象类型为java.util.List及其子类或者数组类型的依赖对象

public class MockDemoObject{
    private List param1;
    private String[] param2;
    ...
    // 相应的setter和getter方法
    ...
}
<property name="param1">
    <list>
        <value> something</value>
        <ref bean="someBeanName"/>
        <bean class="..."/>
    </list>
</property>

 

set对应java.util.Set或者子类的依赖对象

public class MockDemoObject
{
    private Set valueSet;
    // 必要的setter和getter方法
    ...
}
配置类似于
<property name="valueSet">
    <set>
        <value> something</value>
        <ref bean="someBeanName"/>
        <bean class="..."/>
        <list>
            ...
        </list>
    </set>
</property>

 

map使用entry作为其子标签

public class MockDemoObject{
    private Map mapping;
    // 必要的setter和getter方法
}

<property name="mapping"> 
    <map>
        <entry key="strValueKey">
            <value>something</value>
        </entry> 8
        <entry>
            <key>objectKey</key>
            <ref bean="someObject"/> 
        </entry>
        <entry key-ref="lstKey">
            <list>
                10 ...
            </list>
        </entry>
    </map>
< /property>

也可以这样配置

<property name="valueSet">
    <map>
        <entry key="strValueKey" value="something"/>
        <entry key-ref="" value-ref="someObject"/>
        <entry key-ref="lstKey">
            <list>
            ...
            </list>
        </entry>
    </map>
</property>

 

props是对应的类型是java.util.Properties,只能配置String类型的key,value

public class MockDemoObject
{
    private Properties emailAddrs;
    // 必要的setter和getter方法
    ...
}
配置类似于
<property name="valueSet">
    <props>
        <prop key="author">fujohnwang@gmail.com</prop>
        <prop key="support">support@spring21.cn</prop>
        ...
    </props>
</property>

 

对应一个空元素

<property name="param1">
    <null/> 
</property>
<property name="param2">
    <null/>
</property>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Spring.xml 标签配置补充
  • jsp中点击图片弹出文件上传界面及实现预览实例详解
  • jsp中自定义Taglib详解
  • JSP中常用的JSTL fmt(format格式化)标签用法整理
  • JSP中一些JSTL核心标签用法总结
  • JSP自定义标签案例分析
  • JSP自定义标签基础知识学习
  • JSP自定义标签简单入门教程
  • JSP自定义标签入门学习
  • jsp通过自定义标签库实现数据列表显示的方法

相关文章

  • 2017-05-11JSP教程之使用JavaBean完成业务逻辑的方法
  • 2017-05-11java Struts2 在拦截器里的跳转问题
  • 2017-05-11Java语言中链表和双向链表
  • 2017-05-11Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
  • 2017-08-17Springmvc 上传文件MultipartFile 转File 笔记
  • 2017-05-11Java代码构建一个线程池
  • 2017-05-11JSP入门教程(4)
  • 2017-05-11jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法
  • 2017-08-14jsp百度编辑器ueditor 提示后端配置项没有正常加载,上传插件不能正常使用!
  • 2017-05-11实现论坛树型结构的具体算法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JSP简明教程
    • jsp内置对象及方法详细介绍
    • 使用JSP开发WebMail系统
    • JSP学习之Java Web中的安全控制实例详解
    • 实例讲解JSP获取ResultSet结果集中的数据的方法
    • 使用JSP + JAVABEAN + XML 开发的一个例子
    • JSP实现屏蔽浏览器缓存的方法
    • jsp页面循环集合操作整理
    • JSP数据分页导出下载显示进度条样式
    • (jsp/html)网页上嵌入播放器(常用播放器代码整理)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有