#java #spring #spring-boot
#java #весна #весенняя загрузка
Вопрос:
Я пытаюсь определить конструктор для своего класса, но он выдает мне следующую ошибку…
Вызвано: org.springframework.beans.factory.Исключение BeanCreationException: ошибка при создании компонента с именем ‘MyCotroller’, определенным в ресурсе ServletContext [/WEB-INF/servlet-context.xml ]: Не удалось разрешить соответствующий конструктор (подсказка: укажите аргументы индекса / типа / имени для простых параметров, чтобы избежать неоднозначности типов)
Кто-нибудь может мне помочь?
servlet-context.xml
<beans:bean id="myCotroller" class="es.spring.conexion.MyCotroller">
<beans:constructor-arg index="0" type="String" value="${url}" />
<beans:constructor-arg index="1" type="String" value="${port}"/>
<beans:constructor-arg index="2" type="String" value="${base}" />
<beans:constructor-arg index="3" type="String" value="${userAdmin}" />
</beans:bean>
MyCotroller.java
public class MyCotroller implements IMyCotroller {
private String url;
private String puerto;
private String base;
private String adminUser;
public MyCotroller(String url, String port, String base, String userAdmin) {
this.url = url;
this.puerto = puerto;
this.base = base;
this.adminUser =adminUser;
}
}
Комментарии:
1. Ваш типаж должен быть
java.lang.String
не простоString
. Также убедитесь, что вы не используете сканирование компонентов для этого компонента. При этом ошибка не соответствует вашей конфигурации, которую вы опубликовали, поэтому мне интересно, используете ли вы и другие средства настройки.
Ответ №1:
Попробуйте ниже:
<beans:bean id="myCotroller" class="es.spring.conexion.MyCotroller">
<beans:constructor-arg index="0" type="java.lang.String" value="${url}" />
<beans:constructor-arg index="2" type="java.lang.String" value="${base}" />
<beans:constructor-arg index="3" type="java.lang.String" value="${userAdmin}" />
</beans:bean>