最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring常用配置及解析類說明

 更新時(shí)間:2017年11月27日 09:07:27   作者:strivezxq  
這篇文章主要介紹了Spring常用配置及解析類說明,涉及Spring常用配置項(xiàng)的方法以及它的解析類等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。

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

<?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里要用到配置,才需要加載配置,因?yàn)橐话氵@個(gè)配置由DispatchServlet來加載,和spring監(jiān)聽類不在一個(gè)上下文里,想要知道原因請(qǐng)看 
http://blog.csdn.net/strivezxq/article/details/43795081 這篇文章詳細(xì)解析了spring初始化過程 --> 
 
   <context:property-placeholder location="classpath:app.properties" /> 
<!--Scans the classpath for annotated components @Component, @Repository, @Service, and @Controller  
通過use-default-filters="false",可以設(shè)置只掃描哪些注釋,一般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">已經(jīng)包含了context:annotation-configr的功能,所以這個(gè)配置基本沒必要配置,激活在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 /> 
<!--會(huì)在Spring MVC上下文中定義一個(gè) org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler, 它會(huì)像一個(gè)檢查員,對(duì)進(jìn)入DispatcherServlet的URL進(jìn)行篩查,如果發(fā)現(xiàn)是靜態(tài)資源的請(qǐng)求,就將該請(qǐng)求轉(zhuǎn)由Web應(yīng)用服務(wù)器默認(rèn)的 Servlet處理,如果不是靜態(tài)資源的請(qǐng)求,才由DispatcherServlet繼續(xù)處理。 
一般Web應(yīng)用服務(wù)器默認(rèn)的Servlet名稱是"default",因此DefaultServletHttpRequestHandler可以 找到它。如果你所有的Web應(yīng)用服務(wù)器的默認(rèn)Servlet名稱不是"default",則需要通過default-servlet-name屬性顯示指 定: 
<mvc:default-servlet-handler default-servlet-name="所使用的Web服務(wù)器默認(rèn)使用的Servlet名稱" /> 
Tomcat, Jetty, JBoss, and GlassFish默認(rèn)名稱為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 默認(rèn)會(huì)設(shè)置,已經(jīng)支持常用的web服務(wù)器 
--> 
<mvc:default-servlet-handler /> 
 
<!-- 允許靜態(tài)資源放在任何地方 ,處理類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> 
下面標(biāo)簽實(shí)現(xiàn) 
--> 
<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里設(shè)置內(nèi)容類型參數(shù),可以設(shè)置默認(rèn)內(nèi)容類型 
<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> 
 
<!-- 內(nèi)容管理工廠 --> 
     <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> 
 
 
<!-- 內(nèi)容解析器 ,可以p:parameterName="format"來配置返回參數(shù)類型 ,通過p:defaultContentType配置默認(rèn)請(qǐng)求內(nèi)容類型, 
c:qualityValue="0.5" 可以設(shè)置內(nèi)容類型的優(yōu)先級(jí), 如果使用了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" 可以設(shè)置內(nèi)容類型的優(yōu)先級(jí),默認(rèn)是1.0,越大優(yōu)先級(jí)越高 --> 
   <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類型

總結(jié)

以上就是本文關(guān)于Spring常用配置及解析類說明的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Spring中利用配置文件和@value注入屬性值代碼詳解

spring配置掃描多個(gè)包問題解析

Spring配置使用之Bean生命周期詳解

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Java零基礎(chǔ)講解異常

    Java零基礎(chǔ)講解異常

    異常就是不正常,比如當(dāng)我們身體出現(xiàn)了異常我們會(huì)根據(jù)身體情況選擇喝開水、吃藥、看病、等?異常處理方法。?java異常處理機(jī)制是我們java語言使用異常處理機(jī)制為程序提供了錯(cuò)誤處理的能力,程序出現(xiàn)的錯(cuò)誤,程序可以安全的退出,以保證程序正常的運(yùn)行等
    2022-04-04
  • Java?web開發(fā)環(huán)境的搭建超完整步驟

    Java?web開發(fā)環(huán)境的搭建超完整步驟

    這篇文章主要介紹了如何安裝和配置IDEA?2020.1.1?X64版本軟件,包括創(chuàng)建Java?Web項(xiàng)目、配置Tomcat、部署Tomcat?API以及創(chuàng)建和配置Servlet,通過這些步驟,新手可以快速搭建起Javaweb開發(fā)環(huán)境,需要的朋友可以參考下
    2024-11-11
  • 使用SpringCache操作Redis緩存數(shù)據(jù)的示例代碼

    使用SpringCache操作Redis緩存數(shù)據(jù)的示例代碼

    SpringCache是一個(gè)框架,實(shí)現(xiàn)了基于注解的緩存功能,只需要簡單的加一個(gè)注解,就能實(shí)現(xiàn)緩存功能,本文給大家介紹了如何使用SpringCache操作Redis緩存數(shù)據(jù),文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-01-01
  • Mybatis執(zhí)行SQL命令的流程分析

    Mybatis執(zhí)行SQL命令的流程分析

    這篇文章主要介紹了Mybatis執(zhí)行SQL命令的流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • springboot項(xiàng)目部署到寶塔的詳細(xì)圖文教程

    springboot項(xiàng)目部署到寶塔的詳細(xì)圖文教程

    網(wǎng)上關(guān)于寶塔運(yùn)行springBoot的東西說有點(diǎn)迷糊,但是有一句話很重要,Spring boot項(xiàng)目只需要JDK環(huán)境即可部署成功,下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目部署到寶塔的詳細(xì)圖文教程,需要的朋友可以參考下
    2023-05-05
  • 解決Mybatis映射文件mapper.xml中的注釋問題

    解決Mybatis映射文件mapper.xml中的注釋問題

    這篇文章主要介紹了解決Mybatis映射文件mapper.xml中的注釋問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • 一文帶你了解如何正確使用Java中的字符串常量池

    一文帶你了解如何正確使用Java中的字符串常量池

    研究表明,Java堆中對(duì)象占據(jù)最大比重的就是字符串對(duì)象,所以弄清楚字符串知識(shí)對(duì)學(xué)習(xí)Java很重要。本文主要重點(diǎn)聊聊字符串常量池,希望對(duì)大家有所幫助
    2022-12-12
  • 修改maven本地倉庫路徑的方法

    修改maven本地倉庫路徑的方法

    本篇文章主要介紹了修改maven本地倉庫路徑的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • SpringBoot+Vue中的Token續(xù)簽機(jī)制

    SpringBoot+Vue中的Token續(xù)簽機(jī)制

    本文主要介紹了SpringBoot+Vue中的Token續(xù)簽機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • 使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理

    使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理

    這篇文章主要介紹了使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論

上饶市| 墨竹工卡县| 腾冲县| 柳州市| 红河县| 子长县| 神木县| 汕尾市| 玉溪市| 苍溪县| 罗平县| 甘谷县| 容城县| 尖扎县| 灵川县| 舟山市| 霍州市| 米脂县| 英山县| 保德县| 楚雄市| 北票市| 靖州| 富顺县| 德州市| 东辽县| 天祝| 类乌齐县| 永州市| 陈巴尔虎旗| 苗栗市| 始兴县| 定州市| 重庆市| 建湖县| 楚雄市| 祁门县| 班戈县| 扎鲁特旗| 姜堰市| 舞阳县|