Estou migrando do Spring 2.5 para o Spring 3.
Eles introduziram o <mvc:annotation-driven />
que faz alguma magia negra. Espera-se que seja declarado apenas no arquivo de configuração do servlet.
No Spring 2.5, acabei de usar <context:annotation-config />
e as <context:component-scan base='...'/>
tags declaradas no application-context.xml
XML de configuração do servlet e no despachante com pacotes base apropriados para varredura.
Então, eu me pergunto qual é a diferença entre mvc:annotation-driven
e context:annotation-config
tags na configuração do servlet e o que posso eliminar nos arquivos de configuração do Spring 3?
fonte
<context:annotation-config>
em cada contexto.<mvc:annotation-driven>
não faz sentido, é apenas um nome impróprio. Na verdade ele configura suporte para o novo Spring MVC recursos como validação declarativa com@Valid
, HTTP conversão de mensagens com@RequestBody
/@ResponseBody
, nova arquitetura campo de conversão, etc.Há também mais alguns detalhes sobre o uso dos documentos
<mvc:annotation-driven />
da Primavera . Em poucas palavras,<mvc:annotation-driven />
oferece maior controle sobre o funcionamento interno do Spring MVC. Você não precisa usá-lo, a menos que precise de um ou mais dos recursos descritos na seção acima mencionada dos documentos.Além disso, existem outras tags "acionadas por anotação" disponíveis para fornecer funcionalidade adicional em outros módulos Spring. Por exemplo,
<transaction:annotation-driven />
habilita o uso da anotação @Transaction,<task:annotation-driven />
é necessário para @Scheduled et al ...fonte
mvc: acionado por anotação é uma marca adicionada no Spring 3.0 que faz o seguinte:
context: annotation-config Procura anotações em beans no mesmo contexto de aplicativo definido e declara suporte para todas as anotações gerais como @Autowired, @Resource, @Required, @PostConstruct etc.
fonte
@Autowired, @Resource, @Required, @PostConstruct
AND@RequestBody, @ResponseBody
- todas essas anotações, terei que adicionar essas duasmvc:annotation-driven
context:annotation-config
tags na minha configuração?