这篇文章主要介绍了Spring框架构造注入type属性实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
大庆网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
进行测试,验证一个问题,废话不多说了,上代码进行比较
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); } }
核心配置文件:
运行结果:
保存用户信息到数据库 s1=null s2=123 i1=0
由此可见,是没有附上值的 ,为i1变量
解决办法:对核心配置文件进行修改,使用type属性,指定数据类型
运行结果:
保存用户信息到数据库 s1=null s2=null i1=123
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。