问题描述:
在SpringBoot整合Druid数据库连接池时候,配置主从库数据源,使用@Qualifier注解进行注入Bean时候,编译错误,提示:
The annotation @Qualifier is disallowed for this location
错误原因:
-
import导入的包错误,导入了:import org.mapstruct.Qualifier;
import org.mapstruct.Qualifier;
解决方案:
import org.springframework.beans.factory.annotation.Qualifier;
注意:eclipse使用快捷键【ctrl+shift+o】导入包的时候,多个包时候,会弹框提示,此时选择自己需要导入的包。
问题描述:在SpringBoot整合Druid数据库连接池时候,配置主从库数据源,使用@Qualifier注解进行注入Bean时候,编译错误,提示:The annotation @Qualifier is disallowed for this location错误原因:import导入的包错误,导入了:import org.mapstruct.Qualifier;import org.mapstruct.Qualifier;解决方案:导入spring下的包impor.
private BookService bookService;
这里提示我
报错
,检查发现是因为 BooksServiceImpl 写错了,@
Qualifier
(“BooksServiceImpl”)对应的是下面的id,有可能跟类名不一致
<bean id="BookServiceImpl" class="com.service.BooksServiceImpl">
<property name="bo
@
Qualifier
作用:
通过
使用
@
Qualifier
注解
,我们可以消除需要注入哪个 bean 的问题。用来解决歧义。
在写配置类的时候,自己的@
Qualifier
注解
老是不生效,报Error creating bean with name ‘com.hema.es.es.EsApplicationTests’: Unsatisfied 错误,经过排查终于找到了答案:
package com.hema.es.es.config;
import org.apache.http.HttpHos
一个接口有两个实现类,spring注入时
报错
。
报错
:No unique bean of type [com.test.service.EmployeeService] is defined: expected single matching bean but found 2
原文链接:http://www.cnblogs.com/smileLuckBoy/p/5801678.html
在
使用
eclipse导入之前构建的工程时发现webservice接口的
注解
类
报错
(The
annotation
@XmlElement is
dis
allowed
for this
location
),在一波查找后发现是由于导包顺序引起的。
解决方法:在工程属性页中将JRE System Library[JavaSE-1.8] 上移至顶部。
移动后结果为:...
数据类型转换
源对象和目标对象中的映射属性并不总是具有相同的类型。例如,属性可能int属于源 bean 中的类型Long,但属于目标 bean 中的类型。
MapStruct 如何处理此类数据类型转换的呢?
1. 隐式类型转换
在许多情况下,MapStruct 会自动处理类型转换。例如,如果源 bean 中一个属性类型为int,但在目标 bean 中属于String类型,则生成的代码将分别通过调用String#valueOf(int)和Integer#parseInt(String)透明地执行转换。
最近想把一个项目中,创建对象的方式从xml配置文件改成
注解
,偶然发现了一个小问题:
我们知道当对引用类型自动注入时,
使用
@Autowired() 的默认方式是byType,这就导致了,如果在spring容器中存在两个及以上的同类型但是不同名的对象,spring就无法通过byType的方式完成自动注入,因为这些对象都符合类型的要求,不知道要用哪个,这时就需要
使用
@Autowired() + @
Qualifier
() 的组合(也可以
使用
jdk提供的@Resouce),通过byName方式实现自动注入。
当存在两个类型一致的bean时,将会有什么情况出现。我们一起来看看下面的例子:例子说明:如果已经看了上一篇教程,可以直接跳到第二步第一步:创建beanCustomer类package com.main.autowrite.autowired.
annotation
;
import org.springframework.beans.factory.
annotation
.Autowired;