[
https://issues.apache.org/jira/browse/WICKET-1130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581754#action_12581754
]
Igor Vaynberg commented on WICKET-1130:
---------------------------------------
which is a shame, because if it was an interface it would work just fine :)
what you can try is adding a package-level default constructor. that way cglib
can create the subclass and no one outside your api will see it.
> Injection of Bound Instance Fails with Exception
> ------------------------------------------------
>
> Key: WICKET-1130
> URL: https://issues.apache.org/jira/browse/WICKET-1130
> Project: Wicket
> Issue Type: Bug
> Components: wicket-guice
> Affects Versions: 1.3.0-beta4
> Reporter: Daniel Spiewak
> Assignee: Alastair Maw
> Fix For: 1.5-M1
>
>
> If I try to inject an explicitly bound instance into a component, injection
> fails with an exception in the creation of the CGLIB proxy:
> java.lang.IllegalArgumentException: Superclass has no null constructors but
> no arguments were given
> Stupidly, I forgot to save the whole stack trace and the code is now gone
> from my codebase (since I needed it to work). To repeat:
> @Override
> public void configure() {
> bind(EntityManager.class).toInstance(manager);
> }
> Seems wicket-guice is assuming that it needs to create a new instance of
> everything that's injected, and since EntityManager doesn't have a no-args
> constructor, such an action fails. Just an assumption anyway...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.