国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring常用配置及解析類說明

Spring常用配置及解析類說明

2021-02-21 11:57strivezxq Java教程

這篇文章主要介紹了Spring常用配置及解析類說明,涉及Spring常用配置項的方法以及它的解析類等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<?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監(jiān)聽類不在一個上下文里,想要知道原因請看
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的功能,所以這個配置基本沒必要配置,激活在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, 它會像一個檢查員,對進(jìn)入DispatcherServlet的URL進(jìn)行篩查,如果發(fā)現(xiàn)是靜態(tài)資源的請求,就將該請求轉(zhuǎn)由Web應(yīng)用服務(wù)器默認(rèn)的 Servlet處理,如果不是靜態(tài)資源的請求,才由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)會設(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)簽實現(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)請求內(nèi)容類型,
c:qualityValue="0.5" 可以設(shè)置內(nèi)容類型的優(yōu)先級, 如果使用了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)先級,默認(rèn)是1.0,越大優(yōu)先級越高 -->
   <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配制文件中添加如下代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!--解析返回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中添加如下代碼

?
1
2
3
4
5
6
@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)容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/strivezxq/article/details/45457067

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女啪啪无遮挡 | 亚洲综合大片69999 | 狠狠综合久久 | 亚洲国产精品网站 | 欧美精品成人 | 国产婷婷精品av在线 | 精品在线观看一区 | 欧美在线综合 | 欧美精品一二三区 | 国产中文字幕一区 | 欧美一区二区二区 | 精品无人乱码一区二区三区的优势 | heyzo 在线| 欧美日韩精品久久久 | 午夜视频在线观看免费视频 | 欧美成人激情视频 | 久操资源| 99在线观看 | 精品一区二区av | 欧美日韩在线一区二区三区 | 中文字幕在线免费视频 | 中文字幕乱码一区二区三区 | 成人aaa| 中国黄色毛片 大片 | 91xx在线观看 | 国产区视频 | 色综合天天综合网国产成人网 | 日韩在线播放一区二区三区 | 免费一级性片 | 亚洲一区二区美女 | 午夜精品久久久久久久久久久久 | 日韩精品在线播放 | av网站网址 | 成人爱情偷拍视频在线观看 | 亚洲三区视频 | 男人的天堂久久 | 国产精品久久精品 | 国产成人一区二区三区在线观看 | 日韩一区二区三区在线视频 | 一区二区国产视频 | 国产欧美专区 |