Per documento Spring 3, The IoC container, l'annotazione @Named
è uno standard equivalente all'annotazione @Component
.@Nota annotazione in Spring MVC
Dal @Repository
, @Service
e @Controller
sono tutti @Component
, ho cercato di utilizzare @Named
per tutti loro nella mia applicazione Spring MVC. Funziona bene. Ma ho trovato che la sostituzione di @Controller
sembra avere un bug. Nella classe controller, originariamente, era
@Controller
public class MyController{
...
}
Funziona correttamente. Quando ho cambiato @Controller
a @Named
@Named
public class MyController{
...
}
E 'riuscito con errore:
"No mapping found for HTTP request with URI ...".
Ma se ho aggiunto @RequestMapping
alla classe come segue
@Named
@RequestMapping
public class MyController{
...
}
Sarebbe funzionare come previsto.
Per @Repository
e @Service
, posso semplicemente sostituirli con @Named
senza alcun problema. Ma la sostituzione di @Controller
richiede un lavoro extra. C'è qualcosa che mi manca nella configurazione?
significa posso tranquillamente usare '@ Named' per sostituire '@ Component' per l'iniezione di bean generico, ma ho ancora bisogno di usare' @ Repository', '@ Service', e' @ Controller' nelle funzionalità specifiche di MVC di Spring? –
@dino Prego. Considera di accettare questa risposta a meno che tu non voglia aspettare altre risposte con altri dettagli. –