在SMM项目中,经常使用@Autowired引入service或者mapper,但是在自定的utils包下引入service或者mapper的时候,会出现null的情况,下面就来解决这个问题。
首先,我们在spring的配置文件中加上 扫描utils工具类的配置
<context:component-scan base-package="com.ocean.service,com.ocean.utils"></context:component-scan>
接下来在就是在这个工具类中的实现了,需要使用 @PostConstruct注解。
@PostConstruct注解的方法将会在依赖注入完成后被自动调用,指的是在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行
@Component
public class SearchNoUtils {
@Autowired
private static StdNewSeachService stdNewSeachService;
private static SearchNoUtils searchNoUtils;
@PostConstruct
public void init() {
searchNoUtils = this;
}
public StringBuffer makeNo(){
//业务逻辑的处理
searchNoUtils.stdNewSeachService.findXXX();
//....
}
}