ClassCastException - Customer и Customerervice находятся в безымянном приложении Module of Loader?JAVA

Программисты JAVA общаются здесь
Anonymous
ClassCastException - Customer и Customerervice находятся в безымянном приложении Module of Loader?

Сообщение Anonymous »

Я пытаюсь позвонить своему клиенту в своем основном приложении, чтобы проверить, что моя настройка бобов верна (я вижу, как они создаются), и получаю следующую ошибку: < /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

Вернуться в «JAVA»