Я пытаюсь позвонить своему клиенту в своем основном приложении, чтобы проверить, что моя настройка бобов верна (я вижу, как они создаются), и получаю следующую ошибку: < /p>
Исключение в потоке "Main" java.lang.classcastexception: class
com.r00107892.bank.domain.customer не может быть поднят в класс
com.r00107892.bank.services.customerservice
(com.r00107892.bank.domain.customer и
com.r00107892.bank.services.customerservice находятся в неназванном модуле
App 'app' ) в com.r00107892.bank.mainapp.main (mainapp.java:24) < /p>
< /blockquote>
Я проверил свой клиент. Java, customerdao.java , Customerdaoimpl.java, customerservice.java, customer serviceimpl.java, My Mainapp и My Beanconfig.java и Я не могу найти проблему. < /p>
Я изменил свой Beanconfig, чтобы он больше не назвал клиента в качестве компонента и использует Componentscan. < /p>
mainapp < /p>
@Configuration
public class MainApp {
public static void main(String[] args) {
AnnotationConfigApplicationContext context= new
AnnotationConfigApplicationContext (BeanConfig.class);
System.out.println("Bean names: " + Arrays.toString(context.getBeanNamesForType(BeanConfig.class)));
CustomerService customerService = (CustomerService) context.getBean("customer");
System.out.println(customerService.getCustomerByAccountNumber('1'));
context.close();
}
}
< /code>
customer.java
@Component
public class Customer{
public String name;
public int account;
public Customer() {
}
public Customer(int account, String name){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public int getAccount() {
return account;
}
public void setAccount(int account) {
this.account = account;
}
public void myDetails() {
System.out.println("My name is "+ this.name);
System.out.println("My name is" + this.account);
}
public String toString(String name, int account) {
String sentence = name + " " + account;
return sentence;
}
< /code>
custermervice < /p>
@Service
public interface CustomerService {
Customer getCustomerByAccountNumber(int accountNumber);
}
< /code>
customerserviceimpl < /p>
public class CustomerServiceImpl implements CustomerService {
@Autowired
CustomerDAO customerDao;
public Customer getCustomerByAccountNumber(int accountNumber) {
return customerDao.findById(accountNumber);
}
< /code>
Я ожидаю увидеть имя клиента для учетной записи № 1 (уже в базе данных) для распечатки. < /p>
Подробнее здесь: https://stackoverflow.com/questions/587 ... e-of-loade