首页 > 其他分享 >IOC 操作 Bean 管理(xml 注入其他类型属性)

IOC 操作 Bean 管理(xml 注入其他类型属性)

时间:2022-10-18 12:11:54浏览次数:48  
标签:xml String Dept void private dept Bean IOC public

1、字面量

(1)null 值
<!--null 值-->
<property name="address">
 <null/>
</property>
(2)属性值包含特殊符号
<!--属性值包含特殊符号
 1 把<>进行转义 &lt; &gt;
 2 把带特殊符号内容写到 CDATA
-->
<property name="address">
 <value><![CDATA[<<南京>>]]></value>
</property>

2、注入属性-外部 bean

(1)创建两个类 service 类和 dao 类
(2)在 service 调用 dao 里面的方法
(3)在 spring 配置文件中进行配置
public class UserService {
 //创建 UserDao 类型属性,生成 set 方法
 private UserDao userDao;
 public void setUserDao(UserDao userDao) {
 this.userDao = userDao;
 }
 public void add() {
 System.out.println("service add...............");
 userDao.update();
 }
}
<!--1 service 和 dao 对象创建-->
<bean id="userService" class="com.atguigu.spring5.service.UserService">
 <!--注入 userDao 对象
 name 属性:类里面属性名称
 ref 属性:创建 userDao 对象 bean 标签 id 值
 -->
 <property name="userDao" ref="userDaoImpl"></property>
</bean>
<bean id="userDaoImpl" class="com.atguigu.spring5.dao.UserDaoImpl"></bean>

3、注入属性-内部 bean

(1)一对多关系:部门和员工
一个部门有多个员工,一个员工属于一个部门
部门是一,员工是多
(2)在实体类之间表示一对多关系,员工表示所属部门,使用对象类型属性进行表示
//部门类
public class Dept {
 private String dname;
 public void setDname(String dname) {
 this.dname = dname;
 }
}
//员工类
public class Emp {
 private String ename;
 private String gender;
 //员工属于某一个部门,使用对象形式表示
 private Dept dept;
 public void setDept(Dept dept) {
 this.dept = dept;
 }
 public void setEname(String ename) {
 this.ename = ename;
 }
 public void setGender(String gender) {
 this.gender = gender;
 }
}
(3)在 spring 配置文件中进行配置
<!--内部 bean-->
<bean id="emp" class="com.atguigu.spring5.bean.Emp">
 <!--设置两个普通属性-->
 <property name="ename" value="lucy"></property>
 <property name="gender" value="女"></property>
 <!--设置对象类型属性-->
 <property name="dept">
 <bean id="dept" class="com.atguigu.spring5.bean.Dept">
 <property name="dname" value="安保部"></property>
 </bean>
 </property>
</bean>

4、注入属性-级联赋值

(1)第一种写法 
<!--级联赋值-->
<bean id="emp" class="com.atguigu.spring5.bean.Emp">
 <!--设置两个普通属性-->
 <property name="ename" value="lucy"></property>
 <property name="gender" value="女"></property>
 <!--级联赋值-->
 <property name="dept" ref="dept"></property>
</bean>
<bean id="dept" class="com.atguigu.spring5.bean.Dept">
 <property name="dname" value="财务部"></property>
</bean>
(2)第二种写法
<!--级联赋值-->
<bean id="emp" class="com.atguigu.spring5.bean.Emp">
 <!--设置两个普通属性-->
 <property name="ename" value="lucy"></property>
//员工属于某一个部门,需要使用对象形式表示
private Dept dept;
public Dept GetDept(){
//生成dept的get方法
return dept;
}
public Dept SetDept(){
//生成dept的set方法
this.dept = dept;
}
<!--级联赋值-->
<bean id="emp" class="com.atguigu.spring5.bean.Emp">
 <!--设置两个普通属性-->
 <property name="ename" value="lucy"></property>
<property name="gender" value="女"></property>
 <!--级联赋值-->
 <property name="dept" ref="dept"></property>
 <property name="dept.dname" value="技术部"></property>
</bean>
<bean id="dept" class="com.atguigu.spring5.bean.Dept">
 <property name="dname" value="财务部"></property>
</bean>
}

 

标签:xml,String,Dept,void,private,dept,Bean,IOC,public
From: https://www.cnblogs.com/ai377377/p/16802168.html

相关文章

  • IOC 操作 Bean 管理(配置文件)
    1、基于xml方式创建对象(1)在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建(2)在bean标签有很多属性,介绍常用的属性*id属性:唯一标识*c......
  • Xml SelectNodes 与 XPath
     XPath是XML的内容,这里SelectNodes是C#中XmlDocument或XmlNode的一个方法。SelectNodes使用XPath来选取节点。重要语法:SelectNodes("item")    从......
  • 前端封装XmlHttpRequest超级实用
    前端封装XMLHttpRequest超级实用​ 很多时候我们只需要开发一个简单地页面,不需要引入任何js库,这时接口请求用到XMLHttpRequest对象必不可少,那么封装一个好用的请求方法......
  • IOC生命周期 -3种生命周期
    IServiceProvider处理提供所需服务实例,有需要还会负责释放服务实例。具体操作为调试用实例的dispose或者异步dispose方法。scoped和transient:当前Iserviceprovider......
  • IOC
    IOCIOC的优劣势容器革新在java&php的开发过程中存在一个定律:使用对象之前,必须先创建,但是在Laravel&Spring框架中我们往往通过IOC容器直接获取,而无需事先创建它们,这种技......
  • IOC 生命周期-服务范围
    publicclassServicesPrpvoder:IServicesPrpvoder服务提供者可以利用IserviceScoprFactory创建一个服务范围IServiceScope对象IServicesScope的包含IServicesPrpvod......
  • 关于Spring的核心AOP和IOC理解
    spring概念轻量级的开源的J2EE框架。它是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用,可以让我们的企......
  • 解决 Error creating bean with name 'UserMapper' defined in file异常处理和Cause:
    Errorcreatingbeanwithname'UserMapper'definedinfile异常处理和Cause:java.lang.IllegalArgumentException:ResultMapscollectionalreadycontains这两个问......
  • Java实现Excel和Office Open XML之间的相互转换
    前言OfficeOpenXML(也被称为OOXML)是一种压缩的、基于XML的Excel、Word和演示文档格式。有时,你可能需要将Excel文件转换为OfficeOpenXML,以使其在各种应用程序和平台上可......
  • spring配置和管理bean
    Spring管理Bean-IOC在beans.xml中,我们注入2个Monster对象,但是不指定id<beanclass="com.hspedu.spring.beans.Monster"><propertyname="monsterId"valu......