spring如何使用命名空间p简化bean的配置
这篇文章主要介绍了spring如何使用命名空间p简化bean的配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一般情况下,我们是这么配置bean的:
<bean id="car1" class="com.gong.spring.beans.Car"> <property name="name" value="baoma"></property> </bean> <bean id="car2" class="com.gong.spring.beans.Car"> <property name="name" value="benchi"></property> </bean> <bean id="car3" class="com.gong.spring.beans.Car"> <property name="name" value="binli"></property> </bean> <bean id="student" class="com.gong.spring.beans.Student"> <property name="name" value="tom"></property> <property name="age" value="12"></property> <property name="score" value="98.00"></property> <property name="cars" ref="cars"> </property> </bean> <util:list id="cars"> <ref bean="car1"/> <ref bean="car2"/> <ref bean="car3"/> </util:list>
说明:cars是公用的集合Bean,Student里有name、age、score以及类型为List<Car>的car属性。
在引入了命名空间之后,我们就可以这么进行配置了:
<bean id="car1" class="com.gong.spring.beans.Car" p:name="baoma"></bean> <bean id="car2" class="com.gong.spring.beans.Car" p:name="benchi"></bean> <bean id="car3" class="com.gong.spring.beans.Car" p:name="binli"></bean> <bean id="student" class="com.gong.spring.beans.Student" p:name="tom" p:age="12" p:score="98.00" p:cars-ref="cars"></bean> <util:list id="cars"> <ref bean="car1"/> <ref bean="car2"/> <ref bean="car3"/> </util:list>
相较于原来的,代码简洁了很多。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Spring如何使用注解的方式创建bean
这篇文章主要介绍了Spring如何使用注解的方式创建bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一种使用配置类的方式 1.创建一个bean package com.springbean; public class Person { private String name; private Integer age ; public Person(String name, Integer age) { this.name = name
-
Spring实战之使用p:命名空间简化配置操作示例
本文实例讲述了Spring实战之使用p:命名空间简化配置操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <!-- 指定Spring配置文件的根元素和Schema 并导入p:命名空间的元素 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="
-
Spring实战之使用util:命名空间简化配置操作示例
本文实例讲述了Spring使用util:命名空间简化配置操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <!-- 指定Spring配置文件的根元素和Schema 导入p:命名空间和util:命名空间的元素 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:
-
Spring框架如何使用P命名空间进行注入
这篇文章主要介绍了Spring框架如何使用P命名空间进行注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里需要注意的一点是,P命名空间进行注入,是建立在设值注入的基础上的,也就是说,一定要有setter方法才行,同时还要引入P命名空间的头信息(这点千万别忘记了) 典型的三层架构: package dao; import entity.User; /** * 增加DAO接口,定义了所需的持久化方法 */ public interface U
-
Spring实战之使用c:命名空间简化配置操作示例
本文实例讲述了Spring使用c命名空间简化配置操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:c
-
Spring中Bean的命名方式代码详解
本文主要描述的是关于spring中bean的命名方式,通过简单实例向大家介绍了六种方式,具体如下. 一般情况下,在配置一个Bean时需要为其指定一个id属性作为bean的名称.id在IoC容器中必须是唯一的,此外id的命名需要满足xml对id的命名规范. 在实际情况中,id命名约束并不会给我们带来影响.但是如果用户确实希望用到一些特殊字符来对bean进行命名,那么可以使用bean的name属性来进行命名,name属性没有字符上的限制,几乎可以使用任何字符. 每个Bean可以有一个或多个id,我们
-
Springboot测试类没有bean注入问题解析
这篇文章主要介绍了Springboot测试类没有bean注入问题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 其他乱七八糟配置就不扯了,先上项目结构图 配置好参数后我再src/test/java类测试访问数据库时发现bean没有正确的注入.值得注意的是,这个项目的启动类是叫App.java 所以我们必须在这个测试类上面加上注解: @RunWith(SpringRunner.class) @SpringBootTest(classes =
-
spring如何使用命名空间p简化bean的配置
这篇文章主要介绍了spring如何使用命名空间p简化bean的配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一般情况下,我们是这么配置bean的: <bean id="car1" class="com.gong.spring.beans.Car"> <property name="name" value="baoma"></property
-
spring在IoC容器中装配Bean详解
1.Spring配置概述 1.1.概述 Spring容器从xml配置.java注解.spring注解中读取bean配置信息,形成bean定义注册表: 根据bean定义注册表实例化bean: 将bean实例放入bean缓存池: 应用程序使用bean. 1.2.基于xml的配置 (1)xml文件概述 xmlns------默认命名空间 xmlns:xsi-------标准命名空间,用于指定自定义命名空间的schema文件 xmlns:xxx="aaaaa"-------自定义命名空间,xx
-
Spring 3.x中三种Bean配置方式比较详解
以前Java框架基本都采用了XML作为配置文件,但是现在Java框架又不约而同地支持基于Annotation的"零配置"来代替XML配置文件,Struts2.Hibernate.Spring都开始使用Annotation来代替XML配置文件了:而在Spring3.x提供了三种选择,分别是:基于XML的配置.基于注解的配置和基于Java类的配置. 下面分别介绍下这三种配置方式:首先定义一个用于举例的JavaBean. package com.chinalife.dao public cl
-
Spring解密之XML解析与Bean注册示例详解
为什么开始看spring的源码 半路转行写代码快一年半了,从开始工作就在使用spring框架,虽然会用,会搭框架,但是很多时候不懂背后的原理,比如:spring是怎样控制事务的,springmvc是怎样处理请求的,aop是如何实现的...这让人感觉非常不踏实,那就开始慢慢边看书边研究spring的源码吧!!! 怎样高效的看源码 我的答案是带着具体的问题去看源码,不然非常容易陷入源码细节中不能自拔,然后就晕了,最后你发现这看了半天看的是啥玩意啊. 引言 Spring是一个开源的设计层面框架,解决了
-
详解Spring Bean的配置方式与实例化
目录 一. Spring Bean 配置方式 配置文件开发 注解开发 二.Spring Bean实例化 环境准备 构造方法实例化Bean 静态工厂实例化Bean 实例工厂实例化Bean FactoryBean 一. Spring Bean 配置方式 由 Spring IoC 容器管理的对象称为 Bean,Bean 配置方式有两种:配置文件开发和注解开发 配置文件开发 Spring 配置文件支持两种格式:xml和properties,此教程以xml配置文件讲解. XML 配置文件的根元素是 <be
-
详解Spring Boot 使用Java代码创建Bean并注册到Spring中
从 Spring3.0 开始,增加了一种新的途经来配置Bean Definition,这就是通过 Java Code 配置 Bean Definition. 与Xml和Annotation两种配置方式不同点在于: 前两种Xml和Annotation的配置方式为预定义方式,即开发人员通过 XML 文件或者 Annotation 预定义配置 bean 的各种属性后,启动 spring 容器,Spring 容器会首先解析这些配置属性,生成对应都?Bean Definition,装入到 DefaultL
-
spring ioc的简单实例及bean的作用域属性解析
IoC(Inversion if Control)-控制反转是Spring俩大核心技术之一,IoC一般分为俩种类型:依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup) 使用示例: 1.新建工程并导入Spring相关jar包. 2.新建数据访问层及业务逻辑层 代码结构: 代码示例: /** * 实体Bean * @author BC * */ public class User { private Integer id; private
-
Spring基于@Conditional条件化装配bean
一 前言 理解spring的如何根据条件装配bean有助于我们更好使用springboot进行开发,和源码理解: 二 @Conditional 装配bean 思路如下 Spring中提供了@Conditional注解实现条件化是否装配bean,这样可以根据条件动态的装配bean: 要判定@Conditional 注解是否该装配bean还需要Condition 接口配合,我们只须实现 Condition 接口,重写matches 方法: 根据matches方法返回的布尔值进行判定@Conditio
-
Java 如何从spring容器中获取注入的bean对象
1.使用场景 控制层调用业务层时,控制层需要拿到业务层在spring容器中注入的对象 2.代码实现 import org.apache.struts2.ServletActionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.suppo
-
spring中向一个单例bean中注入非单例bean的方法详解
目录 前言 错误实例演示 实现ApplicationContextAware接口 lookup method lookup method签名 总结 前言 看到这个题目相信很多小伙伴都是懵懵的,平时我们的做法大都是下面的操作 @Component public class People{ @Autowired private Man man; } 这里如果Man是单例的,这种写法是没有问题的,但如果Man是原型的,这样是否会存在问题. 错误实例演示 这里有一个原型(生命周期为prototype)的
随机推荐
- iOS微信分享后关闭发送成功提示并返回应用
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- 分离与继承的思想实现图片上传后的预览功能:ImageUploadView
- Android改变ExpandableListView的indicator图标实现方法
- ThinkPHP标签制作教程
- 解决MySQL无法远程连接的方法
- JavaScript接口的实现三种方式(推荐)
- JS排序之冒泡排序详解
- Android6.0 屏幕固定功能详解
- 容易引起沙盒效应的SEO细节[站长必看]
- java.lang.Void 与 void的比较及使用方法介绍
- 深入C++ typedef的用法总结(必看)
- Service与Activity之间的通信(同一进程)
- .CM域名8月1日正式开放注册
- spring boot整合mybatis利用Mysql实现主键UUID的方法
- nodejs实现范围请求的实现代码
- python xlwt如何设置单元格的自定义背景颜色
- win10安装Anaconda+tensorflow2.0-CPU+Pycharm的图文教程
- html-webpack-plugin修改页面的title的方法
- Gradle的缓存路径修改的四种方法(小结)