当前位置: 首页 > news >正文

【spring——命名空间与自动装配】P命名、C命名、Util命名、基于名字自动装配、基于类型自动装配、外部properties文件引入

文章目录

    • 命名空间
      • p命名空间
      • C命名空间
      • util命名空间
    • 自动装配
      • 基于名字进行自动装配
      • 基于类型进行自动装配
    • 引入外部的properties文件

命名空间


p命名空间

可以简化set注入

【1】在xml中设置xmlns:p=http/www.springframework.org/schema/p

【2】配置bean

<bean id="studentBean" class="...." p:name="lxy" p:age="22" p:major="software_engineering"></bean>

C命名空间

可以简化构造注入

【1】在xml中设置xmlns:c=http/www.springframework.org/schema/c

【2】配置bean

<bean id="studentBean" class="...." c:name="lxy" c:age="22" c:major="software_engineering"></bean>

util命名空间

【1】在xml中设置

  • xmlns util=http/www.springframework.org/schema/util

  • xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-xsd"

【2】配置bean

<util:properties id = "prop">
	<prop key="driver">...</prop>
    <prop key="url">...</prop>
    <prop key="username">...</prop>
    <prop key="password">...</prop>
</util:>

<bean id="datasource" class="..." >
	<property name="properties" ref="prop"/>
</bean>

自动装配

自动装配是基于set方法的,因此若是有参构造方法,可能会产生错误

基于名字进行自动装配

【1】在service类中写setOrder()方法

【2】在xml文件中配置autowere="byName"id="order"

注意:id的名字为set方法中的实体名(首字母小写)

<bean id="orderServiceBean" class="com.lxy.spring.orderService" autowire="byName"></bean>
<!--注意这里的class不是setOrder()方法所在的类路径,而是需要注入的实体类路径,不同于set注入-->
<bean id="order" class="com.lxy.spring.orderDao"></bean>

基于类型进行自动装配

【1】在service类中写setOrder()方法

【2】在xml文件中配置autowere="byName",根据类型装配的话,bean 不用写id属性,因为在配置文件中,某种类型的实例只能有一个

<bean  class="com.lxy.spring.orderDao"></bean>
<bean  class="com.lxy.spring.customerDao"></bean>

<bean id="orderServiceBean" class="com.lxy.spring.orderService" autowire="byType"></bean>

引入外部的properties文件

【1】在xml文件中引入context命名空间

【2】使用标签context:property-placeholder location=“xxx.properties”

<context:property-placeholder location="jdbc.properties"></context>
<bean id="datasource" class="com.lxy.spring.bean.dataSource"> 
          <property name="driver" value="${jdbc.driver}"/>
          <property name="url" value="${jdbc.url}/>
          <property name="username" value="${jdbc.username}/>
          <property name="password" value="${jdbc.password}/>
</bean>

相关文章:

  • 手术室专科建设网站/百度客服电话24小时人工服务热线
  • 鄂尔多斯网站开发/个人免费网站建设
  • 长沙 网站建设/百度词条官网入口
  • 网站建设公司做客服怎么样/潍坊网站排名提升
  • 谁做广东11彩票网站/重庆seo排名技术
  • 在建设部网站上的举报/百度网站制作
  • 数据结构—List集合
  • 博图Modbus组态及参数设定源码
  • DockerCompose安装、使用 及 微服务部署实操
  • 非零基础自学Golang 2 开发环境 2.4 Git 安装
  • 06 估计量的评优准则
  • [附源码]计算机毕业设计校刊投稿系统Springboot程序
  • 【Kotlin 协程】协程异常处理 ② ( SupervisorJob 协程 | supervisorScope 协程作用域构建器函数 )
  • 【世界杯】free-api-worldcup2022 免费世界杯API
  • Qt OpenGL(二十五)——Qt OpenGL 核心模式-Qt封装的函数实现彩色三角形
  • LeetCode 0542. 01 矩阵
  • 【C++智能指针】智能指针的发展和循环引用的原理和解决
  • 央企招聘:正式编制!八险三金!各项福利!中国邮政招人啦!