SpringBoot工具类注入service

转自:https://blog.csdn.net/anthony_1223/article/details/79592118

重点:

    1. Spring的依赖注入实际上是依赖于Set方法进行注入值的

    2. 工具类的方法是静态的,所以service成员变量使用也得声明成静态

    3. Spring正常情况下不支持注入静态属性

解决:

    1. 工具类加@Component注解。作用:交给spring去创建工具类实例。

        2.  编写普通变量private Service yourservice; 作用:将普通变量service赋值给静态service变量

        3.  第二步变量加@Autowired 注解。作用:Spring自动装配,将变量赋值。

        4.  声明静态Service变量。作用:该service在工具类中真正被使用

        5.  写一个方法将普通变量service赋值给静态service变量

        6.  将第五步方法上加@PostConstruct注解。作用:工具类初始化时执行完构造方法,执行第五步方法

代码:

@Component
public class FormValidationUtil {

	@Autowired
	private YourService service;
	
	private static YourService realService;

	@PostConstruct
	public void init() {
		realService = service; }
}

猜你喜欢

转载自blog.csdn.net/u013189824/article/details/80019043
今日推荐