Spring Bean常用依赖注入方式详解

网友投稿 411 2022-11-30


Spring Bean常用依赖注入方式详解

一般而言,Spring的依赖注入有三种:构造器注入、setter注入以及接口注入。本文主要讲构造器注入与setter注入。

1、构造器注入

为了让Spring完成构造器注入,我们需要去描述具体的类、构造方法并设置构造方法的对应参数。

代码如下:

public class Role {

private Long id;

private String roleName;

private String note;

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getRoleName() {

return roleName;

}

public void setRoleName(String roleName) {

this.roleName = roleName;

}

public String getNote() {

return note;

}

public void setNote(String note) {

this.note = note;

}

public Role(String roleName, String note) {

this.roleName = roleName;

thishttp://.note = note;

}

public Role() {

}

public void run() {

System.out.println("roleName:" UASnfiPBK+ roleName + ";" + "note:" + note);

}

}

这个时候是没有办法利用无参的构造方法去创建对象的,为了使Spring能正确创建这个对象,需要在xml文件中加入如下bean:

其中,constructor-arg元素用于定义类构造方法的参数,index用于定义参数的位置,而value是设置值,通过这样定义spring便知道使用Role(String, String)这样的构造方法去创建对象了。

2、使用setter注入

setter注入是Spring最主流的注入方式,它消除了使用构造器注入多个参数的可能性,可以把构造参数声明为无参的,然后使用setter注入为其设置对应的值。需要注意的是,如果类中没有构造函数,JVM会默认创建一个无参构造函数。xml代码清单如下:

接着编写测试类即可:

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-cfg.xml");

Role role = (Role) ctx.getBean("role2");

role.run();


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JAVA 创建线程池的注意事项
下一篇:maven实现jar包导入+导出方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~