2012-08-09 22 views
19

Me gustaría crear un Spring Bean de una clase interna. Si tengo la siguiente clase interna B:¿Cómo crear un Spring Bean de una clase interna?

package x.y.z; 

public class A { 
    public class B { } 
} 

Me gustaría crear instancia del bean en mis archivos de configuración XML.

<bean class="x.y.z.A.B" name="innerBean" /> 

Respuesta

31

No se puede acceder a su clase interna pública con el punto (.) notación, en cambio, utilizar la moneda ($). Un ejemplo:

<bean class="x.y.z.A$B" name="innerBean" /> 

Esto funcionará.

+17

También debe definir su clase estática interna, si planea instanciarlo usando Spring. –

+0

¿Hay alguna forma de que no se defina explícitamente bean interno en xml, como @RequestMapping construir su parámetro bean de forma? –

Cuestiones relacionadas