m0_55823662 2021-11-26 22:47 采纳率: 66.7%
浏览 96
已结题

关于Java的问题:报错:No qualifying bean of type 'java.util.Properties'

如题
代码如下:
@org.springframework.context.annotation.Configuration
//需要扫描的包
@ComponentScan(basePackages = {"com.java"})
public class Configuration {
@Bean(name = "CreateProperties")
public Properties CreateProperties(){
Properties properties = new Properties();
properties.setProperty("driverClassName","com.mysql.jdbc.Driver");
properties.setProperty("url","jdbc:mysql://localhost:3306/test");
properties.setProperty("username","root");
properties.setProperty("password","123456");
properties.setProperty("initialSize","5");
properties.setProperty("maxActive","10");
properties.setProperty("maxWait","3000");
return properties;
}
@Bean(name = "CreateDataSource")
public DataSource CreateDataSource (Properties properties){
try {
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
return dataSource;
} catch (Exception e) {
throw new RuntimeException();
}

}

}

public static void main(String[] args) throws Exception {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Configuration.class);
Object dataSource = context.getBean("CreateDataSource");
System.out.println(dataSource);

}

关于Java的问题:报错:No qualifying bean of type 'java.util.Properties'
1、没有类型为“java.util.Properties”的限定bean

  • 写回答

2条回答 默认 最新

  • 编号灬9527 2021-11-27 09:24
    关注

    根本原因还是因为spring容器中不只存在你注入的这个Properties,要么你自己定义特殊的类去替代这个Properties,要么createDataSource方法形参名修改为CreateProperties(beanName),或者直接在createDataSource方法中调用createProperties()方法

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 创建了问题 11月26日