spring 普通类 怎么注入bean

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 普通类 怎么注入bean相关的知识,希望对你有一定的参考价值。

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);



参考技术A 利用注解,按名称注入/link?url=5cLL8K8YTAr7QSlsN-hQJ-7QrAlGzZt43T1drXuDZE4DK6tNd5X8Vf2S8Jwjuofo83ycFSaS4TRQorBKLgdlRNZKyh-zkCvC7gtfPEeAb_K

spring不用注入注解怎么接口所有实现类bean

参考技术A 是如何注入的
1. 直接获取实现类serviceImpl的bean也是可以的;
2. 至于加一层接口的原因:一是AOP程序设置思想指导,给别人调用的接口,调用者只想知道方法和功能,而对于这个方法内部逻辑怎么实现的并不关心;二是可以降低
3. 当业务逻辑简单,变更较少,项目自用时,省略掉接口直接使用实现类更简单明了;反之则推荐使用接口;
CSDN编程社区

以上是关于spring 普通类 怎么注入bean的主要内容,如果未能解决你的问题,请参考以下文章

JAVA普通类怎么注入Spring的bean 例如 一个普通的JAVA类 我想引入一个dao层的入库方法。最好用注解方式

Spring IOC装配Bean

Java Spring-IOC和DI

spring 如何用注解的方式给普通类注入bean

Spring--入门第二天

在spring项目中,普通类注入获取Bean,实现ApplicationContextAware接口