@SpringBean annotation, no-arg constructor

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

@SpringBean annotation, no-arg constructor

chris.gr
Hi,

when injecting a bean via @SpringBean annotation into a Wicket page, this bean must provide a default constructor, otherwise I am receiving the error: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given

Is there a solution to inject beans without no-arg constructors?

thanks a lot,
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Rodrigo Ribeiro Miguele
Just make your class implement an interface then use it instead your class
when injecting your bean.

2015-02-12 16:17 GMT-02:00 Chris <[hidden email]>:

> Hi,
>
> when injecting a bean via @SpringBean annotation into a Wicket page, this
> bean must provide a default constructor, otherwise I am receiving the
> error: java.lang.IllegalArgumentException: Superclass has no null
> constructors but no arguments were given
>
> Is there a solution to inject beans without no-arg constructors?
>
> thanks a lot,
> Chris
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Rodrigo Ribeiro Miguele
Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

chris.gr
Thanks a lot!


> Am 12.02.2015 um 20:12 schrieb Rodrigo Ribeiro Miguele <[hidden email]>:
>
> Just make your class implement an interface then use it instead your class
> when injecting your bean.
>
> 2015-02-12 16:17 GMT-02:00 Chris <[hidden email]>:
>
>> Hi,
>>
>> when injecting a bean via @SpringBean annotation into a Wicket page, this
>> bean must provide a default constructor, otherwise I am receiving the
>> error: java.lang.IllegalArgumentException: Superclass has no null
>> constructors but no arguments were given
>>
>> Is there a solution to inject beans without no-arg constructors?
>>
>> thanks a lot,
>> Chris
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
>
> --
> Rodrigo Ribeiro Miguele


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Andrea Del Bene-3
In reply to this post by chris.gr
Hi,

it looks like more a Spring problem rather than a Wicket one. What's
your full stacktrace?

> Hi,
>
> when injecting a bean via @SpringBean annotation into a Wicket page, this bean must provide a default constructor, otherwise I am receiving the error: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
>
> Is there a solution to inject beans without no-arg constructors?
>
> thanks a lot,
> Chris
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Tobias Soloschenko
Hi,

yes it is a Spring requirement that a bean must have a default constructor. Otherwise use a bean factory.

kind regards

Tobias

> Am 12.02.2015 um 21:13 schrieb Andrea Del Bene <[hidden email]>:
>
> Hi,
>
> it looks like more a Spring problem rather than a Wicket one. What's your full stacktrace?
>> Hi,
>>
>> when injecting a bean via @SpringBean annotation into a Wicket page, this bean must provide a default constructor, otherwise I am receiving the error: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
>>
>> Is there a solution to inject beans without no-arg constructors?
>>
>> thanks a lot,
>> Chris
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Tobias Soloschenko
In reply to this post by Andrea Del Bene-3
Forgot to say if you use  constructor-arg

kind regards

Tobias

> Am 12.02.2015 um 21:13 schrieb Andrea Del Bene <[hidden email]>:
>
> Hi,
>
> it looks like more a Spring problem rather than a Wicket one. What's your full stacktrace?
>> Hi,
>>
>> when injecting a bean via @SpringBean annotation into a Wicket page, this bean must provide a default constructor, otherwise I am receiving the error: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
>>
>> Is there a solution to inject beans without no-arg constructors?
>>
>> thanks a lot,
>> Chris
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Rodrigo Ribeiro Miguele
The problem occurs when the injector will try to create a serializable
proxy that will make reference to your bean. If your class does not have an
empty constructor, your code-generation library (CGLIB, javassist, etc)
cannot create a "class" that extends it to use in the generated proxy,
throwing IllegalArgumentException. For this reason, your class should
implement an interface that describes all the methods you need to use and
injecting a bean of its type.

2015-02-12 19:19 GMT-02:00 Tobias Soloschenko <
[hidden email]>:

> Forgot to say if you use  constructor-arg
>
> kind regards
>
> Tobias
>
> > Am 12.02.2015 um 21:13 schrieb Andrea Del Bene <[hidden email]>:
> >
> > Hi,
> >
> > it looks like more a Spring problem rather than a Wicket one. What's
> your full stacktrace?
> >> Hi,
> >>
> >> when injecting a bean via @SpringBean annotation into a Wicket page,
> this bean must provide a default constructor, otherwise I am receiving the
> error: java.lang.IllegalArgumentException: Superclass has no null
> constructors but no arguments were given
> >>
> >> Is there a solution to inject beans without no-arg constructors?
> >>
> >> thanks a lot,
> >> Chris
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Rodrigo Ribeiro Miguele
Reply | Threaded
Open this post in threaded view
|

Re: @SpringBean annotation, no-arg constructor

Martin Grigorov-4
https://issues.apache.org/jira/browse/WICKET-1130

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Feb 12, 2015 at 11:44 PM, Rodrigo Ribeiro Miguele <
[hidden email]> wrote:

> The problem occurs when the injector will try to create a serializable
> proxy that will make reference to your bean. If your class does not have an
> empty constructor, your code-generation library (CGLIB, javassist, etc)
> cannot create a "class" that extends it to use in the generated proxy,
> throwing IllegalArgumentException. For this reason, your class should
> implement an interface that describes all the methods you need to use and
> injecting a bean of its type.
>
> 2015-02-12 19:19 GMT-02:00 Tobias Soloschenko <
> [hidden email]>:
>
> > Forgot to say if you use  constructor-arg
> >
> > kind regards
> >
> > Tobias
> >
> > > Am 12.02.2015 um 21:13 schrieb Andrea Del Bene <[hidden email]>:
> > >
> > > Hi,
> > >
> > > it looks like more a Spring problem rather than a Wicket one. What's
> > your full stacktrace?
> > >> Hi,
> > >>
> > >> when injecting a bean via @SpringBean annotation into a Wicket page,
> > this bean must provide a default constructor, otherwise I am receiving
> the
> > error: java.lang.IllegalArgumentException: Superclass has no null
> > constructors but no arguments were given
> > >>
> > >> Is there a solution to inject beans without no-arg constructors?
> > >>
> > >> thanks a lot,
> > >> Chris
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [hidden email]
> > >> For additional commands, e-mail: [hidden email]
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> --
> Rodrigo Ribeiro Miguele
>