springmvc対応のcontrollerはspring容器管理になりますか?
4358 ワード
, springmvc bean spring bean , , 。
SpringMVC管理Controllerには2つの方法があります.controlはデフォルトではシングルモードです.@controllerの前に@Scopeを増えれば、単例モードを多例モードに変更できます.第一の方法は、SprigMVCのプロファイルにMyControllerのbeanオブジェクトを定義することである.
class="com.host.app.web.controller.MyController"/>
第二の方式はSprigMVCの配置ファイルの中でSpringに@Controllerと表記されたControllerコントローラをどこで探しますか?< context:component-scan base-package = "com.host.app.web.controller" >
< context:exclude-filter type = "annotation"
expression = "org.springframework.stereotype.Service" />
context:component-scan >
:
context:exclude-filter @Service
この文章を書く時、ブログを参考にしました.http://blog.csdn.net/sp_xiong/articale/details/52002345では、最後に、どのようなbean、springコンテキスト管理、springmvcコンテキスト管理は何ですか?この問題を解決する前に、spring文脈とSpringMVC文脈をはっきりさせます.まず配置を見てください.Springコンテキスト設定はWeb.xmlにあります.
param>
<param-name>contextConfigLocationparam-name>
<param-value>classpath:resources/spring.xmlparam-value>
param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
spring.xmlの中に配置されているbeanはSpringコンテキストに属します.SpringMVCコンテキスト構成は、Web.xmlにあります.
<servlet>
<servlet-name>SpringMVCservlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
<init-param>
<param-name>contextConfigLocationparam-name>
<param-value>classpath:resources/spring-mvc.xmlparam-value>
init-param>
<load-on-startup>1load-on-startup>
<async-supported>trueasync-supported>
servlet>
spring-mvc.xmlに配置されているbeanはSprigMVCコンテキストに属します.注意:Spring MVC文脈とSpring文脈は分離独立しており、両者は親子関係、Spring父Spring MVC子であるが、Spring MVC文脈はSpring文脈を取得することができ、逆はだめです.controllerでservice注入はspring注入がありますが、spring容器管理beanとは違います.spring容器の初期化時間が早い:spring容器の初期化はモニターによるものである.springmvc初期化はservletによって行われる.
注意:開発する時、必ず注意してください.私達のcontrollerの例を管理します.springMVCがありますか?それともspringがありますか?