<property name="dbTypeMaps"> <map> <entry key="dataSource"><value>oracle</value></entry> <entry key="jndiDataSource"><value>oracle</value></entry> </map> </property> 标签报错Property of 'java.util.HashMap' type cannot be injected by 'Map'如何解决
时间: 2023-07-09 15:24:34 浏览: 47
这个报错是因为Spring无法将一个Map类型的属性注入到一个HashMap类型的属性中,需要进行一些调整。你可以尝试将属性的类型改为Map而不是HashMap,或者在注入时使用@Qualifier指定具体的Map实现类。例如,你可以按照以下方式进行更改:
```java
public class YourClass {
@Autowired
@Qualifier("dbTypeMaps")
private Map<String, String> dbTypeMaps;
// ...
}
```
其中,`@Qualifier("dbTypeMaps")`指定了要注入的具体的Map实现类。这样应该就能解决这个报错了。
相关问题
<property name="dbTypeMaps"> <map> <entry key="dataSource"><value>oracle</value></entry> <entry key="jndiDataSource"><value>oracle</value></entry> </map> </property>如何将“dbTypeMaps”属性的类型更改为LinkedMap
你可以在 Spring 配置文件中将 "dbTypeMaps" 属性的类型更改为 LinkedMap,如下所示:
```
<property name="dbTypeMaps">
<util:linked-map>
<entry key="dataSource"><value>oracle</value></entry>
<entry key="jndiDataSource"><value>oracle</value></entry>
</util:linked-map>
</property>
```
在上述示例中,我们使用了 `<util:linked-map>` 标签来创建一个 LinkedMap。这样,Spring 将会将 "dbTypeMaps" 属性的类型设置为 LinkedMap,而不是默认的 HashMap。
检查这点标签是否有问题 <bean id="DBInfo" class="com.infoservice.po3.core.context.DBInfo"> <property name="defTxnMng"> <value>DbTxnManager</value> </property> <property name="defDataSource"> <value>dataSource</value> </property> <property name="noContainedTxnMng"> <value>NoContainedTxnManager</value> </property> <property name="dbTypeMaps"> <map> <entry key="dataSource"><value>oracle</value></entry> <entry key="jndiDataSource"><value>oracle</value></entry> </map> </property> </bean>
这段配置文件看起来没有问题,但需要确认以下几点:
1. 你的应用中是否有定义过 `com.infoservice.po3.core.context.DBInfo` 这个类,以及是否已经将其正确引入。
2. 是否已经定义了 `DbTxnManager` 和 `NoContainedTxnManager` 这两个 Bean。
3. `dataSource` 是否已经正确配置。
如果以上三点都没有问题,那么这段配置文件就是正确的。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)