Spring中Bean管理XML方式

XML注入空值

//adress为实体类属性名
<property name="adress">
   </null>
</property>

XML注入特殊符号

在XML中<>是作为标签,用CDATA可以将<>进行转义

<property name="adress">
   <value><![CDATA[<<上海>>]]></value>
</property>

XML注入外部bean

在操作中有三层,controller层调用service层,serrvice层调用dao层,调用的这个过程就是引入外部bean,(以serrvice层调用dao层为例)

(1)创建俩个类,service类和dao类

//dao类接口
public interface UserDao {
 void update();
}
//实现类
public class UserDaoIml implements UserDao{
 @Override
 public void update() {
     System.out.println("——————update——————");
 }
}

(2)service调用dao里面的方法

 public class UserService {

  private UserDao userDao;

  public void setUserDao(UserDao userDao) {
      this.userDao = userDao;
  }

  public void add(){
      System.out.println("——add————————————");
      userDao.update();
  }
}

(3)spring配置文件

<!service和dao的对象创建>

<bean id="UserService" class ="service类的路径">
        <!注入UserDao对象,ref名字为dao层bean的id>
       <property name="UserDao" ref ="UserDaoIml"></property>

</bean>
 
<bean id="UserDaoIml" class ="dao层实现类的路径"></bean>

内部bean和级联赋值

内部bean由一对多来举例子,一个部门对应多个员工,每个员工的部门是独有的。

//员工
@Data
public class Emp {
    private String ename;
    //部门
    private Dept dept;
}

//部门
@Data
public class Dept {
    private String dname;
}

XML将部门属性注入员工内部

<bean id="emp" class="员工类路径">
  <!设置员工普通属性>
  <property name="ename" value="张三"></property>
  
  <!设置对象性属性>
  <property name="dept">
     <bean id="dept" class="部门类路径">
        <property name="dname" value="后端开发部"></property>
     </bean>
  </property>


</bean>

XML注入list,数组,map,set类型属性

实体类

@Data
public class Student {
    private String[] course;

    private List<String> list;

    private Map<String,String> maps;
    
    private Set<String> set;
}

xml配置

<bean id="Student" class="实体类路径">
 
  <property name="course" >
     <array>
           <value>java编程</value>
           <value>Mysql</value>
     </array>
  </property>
  <property name="list" >
     <list>
           <value>张三</value>
           <value>李四</value>
     </list>
  </property>
  <property name="map" >
     <map>
           <entry key="JAVA" value="java"></entry>
           <entry key="MYSQL" value="mysql"></entry>
     </map>
  </property>
   <property name="sets" >
     <set>
           <value>Redis</value>
           <value>Double</value>
     </set>
  </property>
</bean>

注入对象属性可通过ref属性映射。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值