java.lang.nosuchmethodexception: com.sun.proxy. $ proxy58.list Ошибка решения
При игре в SSH всегда есть некоторые неожиданные исключения. Есть много вещей, которые вы не осторожны или небрежны. Поэтому решения будут разными. Решения, с которыми столкнулись другие, могут быть недействительными для вас. Как и исключение, которое я сообщал выше, я много раз использовал Baidu, и ответ, который я дал мне, является не чем иным, как добавление предложения в AOP, но мне очень жаль, я добавил его в недействительную! Так что то же самое верно, вы все равно должны решить свою собственную ненормальность.
Во -первых, позвольте мне объяснить структуру SSH и причины исключения в моей практике на этот раз.
Стоп-тип каркаса 2,2+Hibernate4.2+Spring4.0, контейнерная комната Tomcat7.0. В действии я написал базовый класс базовый базовый, унаследованные действия и внедрил интерфейс модели. Код заключается в следующем:
----------@Component@Transactional ---------- Public Abstract Class Baseaction <T> расширяет Actionsupport реализует модельридривен <t> {Частный статический конечный длинный последовательность = 2719688501307297741L; @Resource (name = "roleServiceImpl") защищен Roleservice Roleservice; @Resource (имя = "Департамент") защищенные отделы отдела по департаментам; @Resource (name = "userService") защищен userservice userservice; защищенная модель T; public baseaction () {parameterizedtype pt = (parameterizedtype) this.getClass (). getGenericSuperClass (); @Suppresswarnings ("unchecked") class <t> clazz = (class <t>) pt.getactualtypearguments () [0]; try {model = clazz.newinstance (); } catch (Exception e) {бросить новое runtimeexception (e); }} public t getModel () {return Model; }} Преимущество этого заключается в том, что соответствующее действие каждого компонента должно сообщить только базой, которые он хочет реализовать, и тогда вам нужно только завершить свою собственную логику. Для каждого действия по реализации ActionSupport это основное и простое для общения решения.
Затем, в каждом действии, компонент сервиса вызывается для реализации своих собственных функций. В каждом действии используются аннотации @Component («Департамент») и @Scope («Прототип»). Однако, как только вы будете практиковать тест, java.lang.nosuchmethodexception: com.sun.proxy. $ Proxy58.list (). После проверки обнаружено, что причина в
Baseaction абстрактно, не имеет смысла добавлять @transactional к нему.
@Transactional управляется весной. Объекты, управляемые пружиной, должны генерироваться как агенты. Для абстрактного класса это не может быть новым в объект. Только бетонное внедрение класса абстрактного класса может быть проксирован к весне.
Следовательно, удаление @Transactional на базеатровании является причиной этого вопроса.
Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!