欢迎来到入门教程网!

Java

当前位置:主页 > 软件编程 > Java >

Spring框架构造注入type属性实例详解

来源:本站原创|时间:2020-01-10|栏目:Java|点击:

这篇文章主要介绍了Spring框架构造注入type属性实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

进行测试,验证一个问题,废话不多说了,上代码进行比较

package service.impl;

import service.UserService;
import dao.UserDao;
import entity.User;

/**
 * 用户业务类,实现对User功能的业务管理
 */
public class UserServiceImpl implements UserService {

  // 声明接口类型的引用,和具体实现类解耦合
  private UserDao dao;
  private String s1;
  private String s2;
  private int i1;
  

  // 生成无参构造方法
  public UserServiceImpl() {

  }

  // 带参数构造方法  为dao进行赋值
  public UserServiceImpl(UserDao dao) {
    this.dao = dao;
  }
  public UserServiceImpl(UserDao dao,String s1) {
    this.dao = dao;
    this.s1=s1;
  }
  public UserServiceImpl(String s2,UserDao dao) {
    this.dao = dao;
    this.s2=s2;
  }
  public UserServiceImpl(int i1,UserDao dao) {
    this.dao = dao;
    this.i1=i1;
  }


  public UserDao getDao() {
    return dao;
  }

  // dao 属性的setter访问器,会被Spring调用,实现设值注入
  public void setDao(UserDao dao) {
    this.dao = dao;
  }

  public void addNewUser(User user) {
    // 调用用户DAO的方法保存用户信息
    dao.save(user);
    System.out.println("s1="+s1);
    System.out.println("s2="+s2);
    System.out.println("i1="+i1);
  }
}

核心配置文件:

<bean id="UserService" class="service.impl.UserServiceImpl">
<!--通过构造函数的方式,实现构造注入 -->
<constructor-arg>
  <ref bean="userDao" />
</constructor-arg>
<constructor-arg>
  <value>123</value>
</constructor-arg>
</bean>

运行结果:

保存用户信息到数据库
s1=null
s2=123
i1=0

由此可见,是没有附上值的 ,为i1变量

解决办法:对核心配置文件进行修改,使用type属性,指定数据类型

运行结果:

保存用户信息到数据库
s1=null
s2=null
i1=123

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

上一篇:java实现猜拳小游戏

栏    目:Java

下一篇:java从命令行获取数据的三种方式代码实例

本文标题:Spring框架构造注入type属性实例详解

本文地址:https://www.xiuzhanwang.com/a1/Java/8800.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有