spring 普通类 怎么注入bean

发布网友 发布时间:2022-04-21 01:06

我来回答

2个回答

热心网友 时间:2022-06-17 00:19

spring在普通类中注入bean实例 或注入静态变量的bean
Spring的注入有一个问题就是普通类没有办法获得Bean文件中的bean实例。这就是如果是在Web的Servlet环境中可以通过WebApplicationContextUtils,如果是普通类就不好处理了。这需

要一点设计的技巧。下面是一个静态类使用Bean文件中实例的例子

1、如果是在配置文件中配置来注入:
public class UserinfoUtil

{

private IUserInfo userInfo;

private static UserinfoUtil info;

public void setUserInfo(IUserInfo userInfo)

{

this.userInfo = userInfo;

}

public void init()

{

info = this;

info.userInfo = this.userInfo;

}

public static int addUserLoginCnt(String phonenumber)

{

return info.userInfo.addUserLoginCnt(phonenumber);

}

}
相应的bean的配置:
相应的Bean文件的配置

<bean id="userinfoUtil" class="com.huawei.aimi.webportal.service.UserinfoUtil" init-method="init">

<property name="userInfo" ref="userInfo"/>

</bean>

2、用注解的方式注入:
public class UserinfoUtil

{
@Autowired
private IUserInfo userInfo;

private static UserinfoUtil info;

public void setUserInfo(IUserInfo userInfo)

{

this.userInfo = userInfo;

}

@PostConstruct
public void init()

{

info = this;

info.userInfo = this.userInfo;

}

public static int addUserLoginCnt(String phonenumber)

{

return info.userInfo.addUserLoginCnt(phonenumber);

}

}

热心网友 时间:2022-06-17 00:19

利用注解,按名称注入/link?url=5cLL8K8YTAr7QSlsN-hQJ-7QrAlGzZt43T1drXuDZE4DK6tNd5X8Vf2S8Jwjuofo83ycFSaS4TRQorBKLgdlRNZKyh-zkCvC7gtfPEeAb_K
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com