ClassCastException $ Proxy не может быть приведен к использованию aop
Я использовал Spring для создания объектов с помощью бобов. Теперь я попытался использовать aop для создания того же объекта, и я получаю, что $ Proxy не может быть приведен к исключению SaleRoom.
предыдущий xml был:
И я использовал следующий код для создания продаж:
ApplicationContext context = new FileSystemXmlApplicationContext(SalesManager.getSalesSourceFile());
SaleRoom saleRoom;
List salesNames = new LinkedList();
List allSales = new LinkedList();
// Get all sales id's for beans
NodeList salesNodeList = salesDoc.getElementsByTagName("bean");
for (int i = 0; i < salesNodeList.getLength(); i++) {
Node nNode = salesNodeList.item(i);
salesNames.add(((Element) nNode).getAttribute("id").toString());
}
for (String saleName : salesNames) {
if(saleName.contains("sale")) {
saleRoom = (SaleRoom) context.getBean(saleName);
allSales.add(saleRoom);
}
}
return allSales;
Это новый XML:
Класс ведения журнала Aspect: I '
@Aspect
public class LogSettersCalls {
@Pointcut("execution(void set*(*))")
public void setMethod() {}
@Before("setMethod()")
public void logSetterCall(JoinPoint theJoinPoint) {
String methodName = theJoinPoint.getSignature().getName();
Object newValue = theJoinPoint.getArgs()[0];
Object theObject = theJoinPoint.getTarget();
System.out.println("The method " + methodName + " is called on object "
+ theObject + " with the value " + newValue);
}
}
используя тот же код для создания bean-компонентов через aop. и я получаю исключение в теме "главный" java.lang.ClassCastException: $ Proxy11 не может быть приведен к application.common.entities.SaleRoom
Строка, которая выдает исключение: saleRoom = (SaleRoom) context.getBean (saleName);
Любая помощь будет оценена. Благодарю.