亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Spring常用配置及解析類說明

2024-07-13 10:13:40
字體:
來源:轉載
供稿:網友

springMVC配置用法的文章很多,但具體描述清楚的不多,這里主要介紹下常用的配置項的用法,以及它的解析類,springMVC處理內容有兩種方式,一種是converter,另一種是ViewResolver,兩種都能處理json,xml以及form內容格式。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:util="http://www.springframework.org/schema/util"    xmlns:c="http://www.springframework.org/schema/c"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd      http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">  <!-- 如果controller里要用到配置,才需要加載配置,因為一般這個配置由DispatchServlet來加載,和spring監聽類不在一個上下文里,想要知道原因請看 http://blog.csdn.net/strivezxq/article/details/43795081 這篇文章詳細解析了spring初始化過程 -->     <context:property-placeholder location="classpath:app.properties" /> <!--Scans the classpath for annotated components @Component, @Repository, @Service, and @Controller  通過use-default-filters="false",可以設置只掃描哪些注釋,一般springMVC配置只加載下面兩種注釋 --> <context:component-scan base-package="your.base.package" use-default-filters="false">  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/> </context:component-scan> <!-- <context:component-scan annotation-config = "true">已經包含了context:annotation-configr的功能,所以這個配置基本沒必要配置,激活在bean類中被檢測到的各種注釋:Spring's @Required and    @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy and @Resource (if available),    JAX-WS's @WebServiceRef (if available), EJB3's @EJB (if available), and JPA's    @PersistenceContext and @PersistenceUnit (if available) -->  <context:annotation-config /> <!--會在Spring MVC上下文中定義一個 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler, 它會像一個檢查員,對進入DispatcherServlet的URL進行篩查,如果發現是靜態資源的請求,就將該請求轉由Web應用服務器默認的 Servlet處理,如果不是靜態資源的請求,才由DispatcherServlet繼續處理。 一般Web應用服務器默認的Servlet名稱是"default",因此DefaultServletHttpRequestHandler可以 找到它。如果你所有的Web應用服務器的默認Servlet名稱不是"default",則需要通過default-servlet-name屬性顯示指 定: <mvc:default-servlet-handler default-servlet-name="所使用的Web服務器默認使用的Servlet名稱" /> Tomcat, Jetty, JBoss, and GlassFish默認名稱為default, eg: web.xml中    1. <servlet-mapping>      2.   <servlet-name>default</servlet-name>     3.   <url-pattern>*.jpg</url-pattern>       4. </servlet-mapping>      5. <servlet-mapping>        6.   <servlet-name>default</servlet-name>      7.   <url-pattern>*.js</url-pattern>      8. </servlet-mapping>      9. <servlet-mapping>        10.   <servlet-name>default</servlet-name>        11.   <url-pattern>*.css</url-pattern>       12. </servlet-mapping>     如果不配置springdefault-servlet-name 默認會設置,已經支持常用的web服務器 --> <mvc:default-servlet-handler />  <!-- 允許靜態資源放在任何地方 ,處理類org.springframework.web.servlet.resource.ResourceHttpRequestHandler <bean id="resourceHttpRequestHandler" class="org.springframework.web.servlet.resource.ResourceHttpRequestHandler">   <property name="locations" value="classpath:/META-INF/resources/"></property>  </bean> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">   <property name="mappings">     <props>       <prop key="/resources/**">resourceHttpRequestHandler</prop>     </props>   </property> </bean> 下面標簽實現 --> <mvc:resources mapping="/resources/**" location="/resources/"></mvc:resources> <!--  register "global" interceptor beans to apply to all registered HandlerMappings . Each inteceptor must implement the org.springframework.web.servlet.HandlerInterceptor or org.springframework.web.context.request.WebRequestInterceptor interface --> <mvc:interceptors>   <mvc:interceptor>     <mvc:mapping path="/**" />     <mvc:exclude-mapping path="/css/**" />     <mvc:exclude-mapping path="/js/**" />     <mvc:exclude-mapping path="/images/**" />     <bean class="com.fpx.common.auth.mgt.framework.interceptor.ContextInterceptor" />   </mvc:interceptor> </mvc:interceptors>   <!-- Turns on support for mapping requests to Spring MVC @Controller methods Also registers default Formatters and Validators for use across all @Controllers 配置解析類:org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser 配置content-negotiation-anager可以在url里設置內容類型參數,可以設置默認內容類型 <bean id="contentNegotiationManagerFactoryBean" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean" p:favorPathExtension="false" p:favorParameter="true" p:parameterName="format" p:ignoreAcceptHeader="true" p:defaultContentType="application/json">   <property name="mediaTypes">   <props>   <prop key="json">application/json</prop>   <prop key="xml">application/xml</prop>    </props>   </property> </bean> --> <mvc:annotation-driven content-negotiation-anager="contentNegotiationManagerFactoryBean">   <mvc:message-converters>     <ref bean="stringHttpMessageConverter" />     <ref bean="jsonHttpMessageConverter" />     <ref bean="marshallingHttpMessageConverter" />   </mvc:message-converters> </mvc:annotation-driven>  <!-- 內容管理工廠 -->      <bean         class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"         p:favorPathExtension="false" p:favorParameter="true"         p:parameterName="format" p:ignoreAcceptHeader="true"         p:defaultContentType="application/json">         <property name="mediaTypes">           <props>             <prop key="json">application/json</prop>             <prop key="xml">application/xml</prop>           </props>         </property>       </bean>   <!-- 內容解析器 ,可以p:parameterName="format"來配置返回參數類型 ,通過p:defaultContentType配置默認請求內容類型, c:qualityValue="0.5" 可以設置內容類型的優先級, 如果使用了mvc:annotation-driven 和注解方式(@RequestBody), 下面配置是不生效的-->    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">      <property name="contentNegotiationManager"  ref= "contentNegotiationManagerFactoryBean">              </property>      <property name="defaultViews">         <list>           <bean              class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">              <property name="modelKey" value="resultVo" />              <property name="extractValueFromSingleKeyModel" value="true" />           </bean>           <bean class="org.springframework.web.servlet.view.xml.MarshallingView">              <constructor-arg ref="jaxb2Marshaller" />              <property name="contentType" value="application/xml" />           </bean>         </list>      </property>      <!-- <property name="ignoreAcceptHeader" value="true" /> -->    </bean>      <!-- XML view using a JAXB marshaller -->    <bean id="jaxb2Marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">      <property name="marshallerProperties">         <map>           <entry key="jaxb.formatted.output">              <value type="boolean">true</value>           </entry>           <entry key="jaxb.encoding" value="UTF-8" />         </map>      </property>      <property name="packagesToScan">         <list>           <value>com.api.domain</value>           <value>com.api.web.controller.vo</value>         </list>      </property>    </bean>     <bean id="jstlViewResolver"      class="org.springframework.web.servlet.view.InternalResourceViewResolver">      <property name="order" value="2" />      <property name="viewClass"         value="org.springframework.web.servlet.view.JstlView" />      <property name="prefix" value="/views/" />      <property name="suffix" value="" />      <property name="requestContextAttribute" value="rc" />    </bean>  <!-- c:qualityValue="0.5" 可以設置內容類型的優先級,默認是1.0,越大優先級越高 -->    <bean id="stringHttpMessageConverter"      class="org.springframework.http.converter.StringHttpMessageConverter">      <property name="supportedMediaTypes">         <list>           <value>text/plain;charset=UTF-8</value>           <value>text/html;charset=UTF-8</value>         </list>      </property>    </bean>     <bean id="jsonHttpMessageConverter"      class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />    <bean id="marshallingHttpMessageConverter"      class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">      <constructor-arg ref="jaxb2Marshaller" />      <!-- <property name="supportedMediaTypes" value="application/xml"></property> -->      <property name="supportedMediaTypes">         <util:list>           <bean class="org.springframework.http.MediaType" c:type="application" c:subtype="xml" c:qualityValue="0.5"/>         </util:list>      </property>    </bean> 

SpringMVC返回json配置步驟如下:

1、添加jackson.jar包

2、在applicationContext.xml配制文件中添加如下代碼

<!--解析返回JSON --><!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> -->  <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters">  <list >  <ref bean="mappingJacksonHttpMessageConverter" />  </list> </property> </bean> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes">  <list>  <value>text/html;charset=UTF-8</value>  </list> </property> </bean> 

3、在controller中添加如下代碼

@RequestMapping(value="/chinese/listTree", method = RequestMethod.POST) @ResponseBody  public List getlistChinese(Model model){ List<User> list = (List<ChineseCategory>) commonMgr.find("from User");  return list; }

返回值可以為list也可以為Map類型

總結

以上就是本文關于Spring常用配置及解析類說明的全部內容,希望對大家有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
综合国产在线观看| 欧美国产亚洲精品久久久8v| 亚洲精品福利在线观看| 日韩欧美在线视频日韩欧美在线视频| 国内精品久久久久伊人av| 久久精品最新地址| 国产精品久久久久av| 欧美大码xxxx| 亚洲人线精品午夜| 久久久久久一区二区三区| 亚洲日本成人女熟在线观看| 91成品人片a无限观看| 国产精品久久久久久久久久久不卡| 国产日韩欧美夫妻视频在线观看| 精品久久久久久久久国产字幕| 另类视频在线观看| 国产精品视频一区二区三区四| 51久久精品夜色国产麻豆| 精品亚洲aⅴ在线观看| 国产91在线播放九色快色| 国模视频一区二区| 欧美xxxx做受欧美| 92看片淫黄大片看国产片| 久久久精品国产一区二区| 欧美性猛交视频| 久久精品视频va| 亚洲国产黄色片| 国产裸体写真av一区二区| 亚洲欧美日韩一区二区在线| 91亚洲国产成人精品性色| 国产精品成人一区| 久久久精品免费| 亚洲免费高清视频| 久久成人一区二区| 亚洲精品wwwww| 久久视频免费在线播放| 国产精品丝袜久久久久久高清| 日韩精品免费一线在线观看| 亚洲天堂av在线播放| 亚洲成av人乱码色午夜| 最近2019年好看中文字幕视频| 欧美日韩激情网| 一区二区三区 在线观看视| 国产视频亚洲精品| 久久久久久免费精品| 日本一区二区三区在线播放| www.欧美免费| 一本大道久久加勒比香蕉| 热久久这里只有精品| 亚洲欧美国产视频| 日韩在线视频观看| 91wwwcom在线观看| 上原亚衣av一区二区三区| 亚洲精品国产suv| 日韩精品在线免费| 日本成人精品在线| 日韩美女视频在线观看| 亚洲精品视频免费在线观看| 黑人与娇小精品av专区| 久久av红桃一区二区小说| 久久综合色影院| 久久九九热免费视频| 主播福利视频一区| 欧美中文在线观看| 久久九九国产精品怡红院| 97国产在线观看| 国产一区二区三区网站| 国产精品久久久久久久久久新婚| 欧美网站在线观看| 91午夜理伦私人影院| 中文字幕一区电影| 亚洲国产另类 国产精品国产免费| 中文字幕日韩欧美| 欧美日韩中文在线观看| 欧美激情一区二区三级高清视频| 国产欧美韩国高清| 欧美xxxx做受欧美| 国产成人福利夜色影视| 欧美成人第一页| 久久躁日日躁aaaaxxxx| 伊人一区二区三区久久精品| 色狠狠久久aa北条麻妃| 国产91精品网站| 丝袜情趣国产精品| 欧美激情欧美激情| 亚洲综合国产精品| 成人网在线免费观看| 91综合免费在线| 精品无人区太爽高潮在线播放| 国产精品嫩草影院一区二区| 国产精彩精品视频| 国产精品福利小视频| 性欧美暴力猛交69hd| 日韩中文在线不卡| 亚洲男子天堂网| 久久激情视频免费观看| 亚洲欧洲在线播放| 精品伊人久久97| 一区二区三区回区在观看免费视频| 久久人人爽人人爽人人片av高清| 精品精品国产国产自在线| 一个色综合导航| 精品少妇v888av| 色偷偷av一区二区三区乱| 国产在线高清精品| 国产精品日韩久久久久| 日本成人精品在线| 国产精品999999| 在线观看欧美www| 久久99精品久久久久久琪琪| 国产ts一区二区| 欧美最猛性xxxxx亚洲精品| 成人激情视频在线| 精品久久久久久亚洲精品| 国产精品视频色| 国产一区深夜福利| 国内精品免费午夜毛片| 日韩视频精品在线| 国产日韩在线亚洲字幕中文| 91深夜福利视频| 国产精品久久久久久久久影视| 国产黑人绿帽在线第一区| 欧美大片免费观看在线观看网站推荐| 国产精品三级网站| 欧美三级免费观看| 92版电视剧仙鹤神针在线观看| 精品国产老师黑色丝袜高跟鞋| 久久久久久久久国产精品| 国模精品视频一区二区| 久久天天躁狠狠躁夜夜躁| 亚洲国产精品福利| 日韩高清中文字幕| 青青草国产精品一区二区| 久久久精品国产亚洲| 国产在线a不卡| 亚洲人成电影网站| 欧美福利视频在线| 国产精品成人aaaaa网站| 亚洲国产黄色片| 国产视频久久久久久久| 2019日本中文字幕| 91免费人成网站在线观看18| 97人人模人人爽人人喊中文字| 国产成人午夜视频网址| 国产精品一区二区电影| 国产一区二区三区在线免费观看| 亚洲欧美在线播放| 久久精品成人欧美大片古装| 日韩在线中文视频| 日本一本a高清免费不卡| 国产男人精品视频| 日韩av一区二区在线| 国产一区玩具在线观看| 欧美一区二粉嫩精品国产一线天| 亚洲午夜av久久乱码| 人人做人人澡人人爽欧美| 国产97在线播放| 91精品国产电影| 91精品国产综合久久久久久蜜臀| 色爱av美腿丝袜综合粉嫩av| 美日韩在线视频| 国产精品v片在线观看不卡| 96精品久久久久中文字幕| 91九色国产在线|