网站建设华企云商,女生做网站编辑,免费seo网站诊断免费,asp网站开发技术一、基本介绍 在项目开发中#xff0c;spring管理的 Service和 Respository#xff0c;SrpingMVC管理 Controller和ControllerAdvice,分工明确
当我们同时配置application.xml, springDispatcherServlet-servlet.xml , 那么注解的对象会被创建两次#xff0c; 故…一、基本介绍 在项目开发中spring管理的 Service和 RespositorySrpingMVC管理 Controller和ControllerAdvice,分工明确
当我们同时配置application.xml, springDispatcherServlet-servlet.xml , 那么注解的对象会被创建两次 故一定要区别开
二、具体做法
1、写好注解 Repository Service Controller ,看图 2、在web.xml中配置spring包括spring的加载监听器 springMVC各自的配置文件
web-app
!-- 配置spring--context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:applicationContext.xml/param-value/context-param
!-- 配置spring的加载监听器--
!-- 在启动Web容器时自动装配applicationContext.xml的配置信息--listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenerservletservlet-namespringDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class
!-- 假如不在默认位置WEB-INF下默认名称必须是 springDispatcherServlet-servlet.xml,
可以使用以下代码自定义--!-- init-param--!-- param-namecontextConfigLocation/param-name--!-- param-valueclasspath:WEB-INF/springDispatcherServlet-servlet.xml/param-value--!-- /init-param--!-- 表示tomcat加载servlet的顺序数字越小越先加载--load-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringDispatcherServlet/servlet-name!-- 这里注意这种url请求形式配置成/这样支持restfulT--url-pattern//url-pattern/servlet-mapping/web-app3、在applicationContext.xml, 配置如下
context:component-scan base-packagecom.bin.springMVC.*context:exclude-filter typeannotationexpressionorg.springframework.stereotype.Controller/context:exclude-filter typeannotationexpressionorg.springframework.web.bind.annotation.ControllerAdvice//context:component-scan
4、在 springDispatcherServlet-servlet.xml 注意必须是这个名字第一段可改如果不指定位置那么spirngMVC的配置文件的位置必须在WEB-INF下 配置如下
!--配置自动扫描包--context:component-scan base-packagecom.bin.springMVC.* use-default-filtersfalsecontext:include-filter typeannotation expressionorg.springframework.stereotype.Controller/context:include-filter typeannotationexpressionorg.springframework.web.bind.annotation.ControllerAdvice//context:component-scan
!--配置用 InternalResourceViewResolve如果我们在目标方法返回一个loginoK”则真实的资源就是prefix/名字/suffixloginOK /WEB-INF/pages/loginOk.jsp--
bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/pages//property namesuffix value.jsp//bean
!-- 加入两个常规配置才会加载.js .css文件--mvc:annotation-driven/mvc:annotation-drivenmvc:default-servlet-handler/
5、效果启动项目后各个注解的对象只被创建一次
三、bean的引用
注意bean的相互引用关系 即controller会引用 service , 但service不会去引用controller