servlet-context.xml 7.37 KB
Newer Older
Spencer Chang's avatar
Spencer Chang committed
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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
                           http://www.springframework.org/schema/aop
                           http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">

    <bean id="jacksonObjectMapper" class="com.hand.hap.core.json.JacksonMapper" />

    <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject" ref="jacksonObjectMapper" />
        <property name="targetMethod" value="configure" />
        <property name="arguments">
            <list>
                <value type="com.fasterxml.jackson.databind.DeserializationFeature">FAIL_ON_UNKNOWN_PROPERTIES</value>
                <value>false</value>
            </list>
        </property>
    </bean>

    <!-- Enables the Spring MVC @Controller programming model -->
	<!-- <mvc:annotation-driven /> -->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <ref bean="jacksonObjectMapper"/>
                </property>
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <bean id="validator" class="com.hand.hap.core.validator.ComplexCommonValidator" />

    <mvc:resources mapping="/lib/**" location="/lib/" />
    <mvc:resources mapping="/resources/**" location="/leafresource/" />
    <mvc:resources mapping="/resource/**" location="/leafresource/" />
    <mvc:resources mapping="/leafresource/**" location="/leafresource/" />

    <!--leaf-->
    <mvc:resources mapping="/css/**" location="/leaf/css/"/>
    <mvc:resources mapping="/images/**" location="/leaf/images/"/>
    <mvc:resources mapping="/javascripts/**" location="/leaf/javascripts/"/>
    <mvc:resources mapping="/kindeditor/**" location="/leaf/kindeditor/"/>
    <mvc:resources mapping="/office_edit_online/**" location="/leaf/office_edit_online/"/>
    <mvc:resources mapping="/modules/**" location="/modules/"/>
    <!--<mvc:resources mapping="/login" location="/login.lview"/>-->
    <!--end leaf-->

 	<mvc:view-controller path="/login.html" view-name="/login" />
 	<mvc:view-controller path="/index" view-name="redirect:/" />

	<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
	    <property name="templateLoaderPaths">
            <list>
                <value>/WEB-INF/view</value>
                <value>/WEB-INF/templates</value>
            </list>
        </property>
		<!-- <property name="templateLoaderPath" value="/WEB-INF/screen" /> -->
		<property name="defaultEncoding" value="UTF-8" />
		<property name="freemarkerSettings">
			<props>
				<prop key="auto_import">spring.ftl as spring</prop>
				<prop key="template_update_delay">2</prop><!-- 模板更新检查时间(秒) -->
				<prop key="number_format">#</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
                <prop key="time_format">HH:mm:ss</prop>
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
               <!--  <prop key="classic_compatible">true</prop> -->
			</props>
		</property>
	</bean>

    <bean id="freeMarkerViewResolverConfig" abstract="true">
        <property name="cache" value="true" />
        <property name="contentType" value="text/html;charset=UTF-8" />
        <property name="requestContextAttribute" value="base"/>
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="exposeSpringMacroHelpers" value="true" />
        <property name="allowSessionOverride" value="true"/>
    </bean>

	<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" parent="freeMarkerViewResolverConfig">
        <property name="viewClass" value="com.hand.hap.core.web.DefaultFreeMarkerView" />
        <property name="suffix" value=".html" />
        <property name="order" value="0" />
    </bean>
    
    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" parent="freeMarkerViewResolverConfig">
        <property name="viewClass" value="com.hand.hap.core.web.ScreenView" />
        <property name="suffix" value=".view"/>
        <property name="order" value="2" />
    </bean>

    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" parent="freeMarkerViewResolverConfig">
        <property name="viewClass" value="com.hand.hap.core.web.FormView" />
        <property name="order" value="1" />
    </bean>
    
    <bean id="screenTagFactory" class="com.hand.hap.core.web.view.ViewTagFactory">
        <property name="basePackage" value="com.hand.hap.core.web.view.ui"/>
    </bean>

    <!--<bean  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

	<!-- <bean id="messageSource" class="com.hand.hap.core.i18n.CacheMessageSource"></bean> -->
    
    <bean id="themeResolver" class="org.springframework.web.servlet.theme.SessionThemeResolver">
        <property name="defaultThemeName" value="bootstrap" />
    </bean>
    
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
        <property name="defaultLocale" value="zh_CN"/>
        <!--<property name="defaultTimeZone" value="GMT-0800"/>-->
    </bean>

    <mvc:interceptors>
        <bean class="com.hand.hap.core.interceptor.MonitorInterceptor"/>
	</mvc:interceptors>

    <!--  Metrics Invoke AOP-->
    <aop:aspectj-autoproxy proxy-target-class="true"/>

    <!-- AOP Bean -->
    <bean class="com.hand.hap.metrics.MetricsConfigurationBean"></bean>
    <bean id="metricAspect" class="com.hand.hap.metrics.MetricAspect"></bean>
    <bean id="excelExportAspect" class="com.hand.hap.excel.service.impl.HapExcelExportAspect"></bean>
    <!--<bean id="invokeAspect" class="com.hand.hap.intergration.aop.HapInvokeAspect"></bean>-->
    <!--<bean id="invokeExceptionAspect" class="com.hand.hap.intergration.aop.HapInvokeExceptionAspect"></bean>-->


	<!-- Imports user-defined @Controller beans that process client requests -->
	<import resource="controllers.xml" />
</beans>