【问题标题】:Spring autowire null pointer exception [duplicate]Spring自动装配空指针异常[重复]
【发布时间】:2017-10-22 02:15:25
【问题描述】:

xml配置-

<bean id="DS" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >

        <property name="driverClassName" value="${DB.DRIVERCLASS}" />
        <property name="url" value="${TABLEMAINT.URL}" />       
        <property name="username" value="${TABLEMAINT.USER}" />
        <property name="password" value="${TABLEMAINT.PASSWORD}" />
    </bean>

@Component
class AbcDAO{
 @Autowired
private DriverManagerDataSource DS;
   public void getConnection(){
      System.out.println("DS - "+DS..getConnection());
   }
}

datasource DS.getConnection 获取空指针异常。

自动装配不起作用。

有什么解决办法吗?

【问题讨论】:

  • 阅读 Java 命名约定。属性名称应以小写字符开头,因此您的“DS”必须为“ds”
  • @pvpkiran 没有。这是我的道课
  • 你如何实例化 ABS 类?它是弹簧管理的 bean 吗?
  • 是的..我这里没有复制完整的代码
  • 同时添加相关代码

标签: java spring datasource javabeans autowired


【解决方案1】:

ABC 不是由 spring 管理的。

要使@Autowired 注释起作用,您必须使用以下任一注释该类:

@Component
@Service
@Controller
@Repository

或在 XML 配置中定义

【讨论】:

  • 我应该从这些中使用哪一个?
  • 它不是我的控制器或服务类
  • @yuvaツ 它是一个存储库吗?如果不使用'@Component'
  • 没有。也尝试使用组件.. 不工作
  • 查看代码更新..
猜你喜欢
  • 2017-11-20
  • 2014-10-07
  • 2017-12-27
  • 2018-09-21
  • 1970-01-01
  • 2012-02-21
  • 2015-11-16
  • 2021-06-05
  • 1970-01-01
相关资源
最近更新 更多