2012-03-24 8 views

Respuesta

5

Puede usar @Autowired en un constructor o en un método con otro nombre. Personalmente prefiero la última opción.

@Autowired 
public MyClass(DataSource dataSource) { 
    super(); 
    setDataSource(dataSource); 
} 

@Autowired 
public void setDs(DataSource dataSource) { 
    setDataSource(dataSource); 
} 
+0

Otra solución es inyectar plantilla (que es thread-safe !!) en lugar de la configuración de 'DaoSupport': http://stackoverflow.com/a/ 21992433/173149 – gavenkoa

+0

Debería comenzar a usar \ @Inject a partir de ahora, en lugar de \ @Autowired annotation. –

1

Otra opción es la siguiente:

@Autowired 
    private DataSource ds; 

    @Override 
    protected void initDao() throws Exception { 
     super.initDao(); 
     setDataSource(ds); 
    } 
Cuestiones relacionadas