SpringMvc 在非Controller下使用@Autowired

在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在Controller层中注入service接口,在service层中注入其它的service接口或者mapper接口都是可以的,但是如果我们要在我们自己封装的一些类中或者说非controller普通类中使用@Autowired注解注入Service或者Mapper接口,直接注入是肯定注入不成功的,当我们遇到这样的问题,我们就要想办法解决了。

//Component注解不用解释了吧 
@Component 
public class MyTest {

    @Autowired
    private ItemService itemService;

    @Autowired
    private ItemMapper itemMapper;

    //这个地方先声明一下 
    public static MyTest myTest;

    //init方法照写就行了,一定不能少 
    @PostConstruct
    public void init() {    
        myTest = this;
    } 

    //其他地方需要使用就可以按照下面的方法调用就可以了     
    public static void test(Item record){
        myTest.itemMapper.insert(record);
        myTest.itemService.save();
    }
} 
发布了31 篇原创文章 · 获赞 15 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/dongdingzhuo/article/details/78722422
今日推荐