spring @Autowire 注入失败总结

来源:互联网 发布:mysql删除primary key 编辑:程序博客网 时间:2024/04/28 07:49

总结了下网上的一些经验,最后是我自己的经验

    • 注解放在了接口上
    • 配置文件
    • 使用new实例化类
    • 其他

1.注解放在了接口上

例:
//错误:
@Service
public interface serviceName{
void demo();
}
spring默认会忽略掉扫描到接口类,对于在接口上注解spring是不会生成该bean的。所以应该放在实现类上
//正确:
@Service
public interface serviceNameImpl{
void demo(){
System.out.print(“@Service注解在这个类上”);
}
}

2.配置文件

配置文件根据你的程序框架不同有各种错误,最普遍的话就是没有扫描类所在的包在,applicationContext中加,让spring在容器启动时扫描package进行bean的生成和注入。
其他框架问题等日后有机会再补充(flag)

3.使用new()实例化类

我的工程两个类A,B都要注入类C,然而A依赖B,所以我就在A中new了B。
事实是:如果只是简单的new一个对象的话,新对象里面的所有变量依赖都是没有注入的。

4.其他

生成类和XML配置文件的用的数据库驱动包
和工程内的数据库驱动包版本不一致导致的问题
http://tieba.baidu.com/p/4578712008

1 0