转自: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变量
扫描二维码关注公众号,回复:
1466428 查看本文章
6. 将第五步方法上加@PostConstruct注解。作用:工具类初始化时执行完构造方法,执行第五步方法
代码:
@Component public class FormValidationUtil { @Autowired private YourService service; private static YourService realService; @PostConstruct public void init() { realService = service; } }