Spring配置说明

Spring的配置,主要包含web.xml,applicationContext.xml配置。

web.xml配置

对于web项目,容器(Tomcat,JBoss等)启动时最先会扫描web.xml文件,读取该文件中的配置信息并初始化。
web.xml中,主要配置Listener,Filter(及filter-mapping),Servlet(及servlet-mapping),以及全局参数(context-param)。容器首先会创建ServletContext上下文,用于这个WEB项目所有部分共享。

ServletContext application = ServletContextEvent.getServletContext();
context-param<值> = application.getInitParameter("context-param<键>");

内容的加载顺序:<context-param> <listener> <filter> <servlet>。
如果采用Spring框架,则在web.xml中主要配置:
1)ContextLoaderListener。以及Spring配置文件地址,用于该Listener的初始化(容器会创建ServletContext,contextInitialized)。(如果没有指定配置文件,则默认从/WEB-INF/下加载applicationContext.xml)。该Listener启动Spring。
2)SpringMVC的分发器DispatcherServlet。在第一次请求时实例化,将请求分发给Spring的Controller处理。在Controller中,通过@RequestMapping注解,映射URL请求和Controller方法。

applicationContext.xml配置

1)引入属性配置文件。这些配置文件配置的值,在bean实例化时可以通过{paramkey}方式使用。引入示例:

<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    
    <property name="location">    
        <value>classpath:jdbc.properties</value>
    </property>
</bean>

2)配置component-scan,指明通过注解标识的Controller、Service以及Dao层的类路径。通过注解标识的类(@Repository、@Service、@Controller、@Component),无需在配置文件中配置bean,也可实例化。

<context:component-scan base-package="com.xxx">   
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />   
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

3)配置bean,包含数据库的dataSource,sessionFactory等,以及自定义bean。一般配置第三方包中的bean,自定义的bean可以通过类注解实现。
4)AOP配置,包含定义事务规则;
5)其他还有websocket配置,dubbo配置,activemq配置,redis配置,schedule配置等。

SpringMVC配置

可以在web.xml中指定配置文件名称,如:

<servlet>
    <servlet-name>springmvc</servlet-name>   
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
    <init-param>      
        <param-name>contextConfigLocation</param-name>      
        <param-value>classpath:applicationContext-mvc.xml</param-value>   
    </init-param>   
    <load-on-startup>1</load-on-startup>   
    <async-supported>true</async-supported>
</servlet>
<servlet-mapping>   
    <servlet-name>springmvc</servlet-name>   
    <url-pattern>/</url-pattern>
</servlet-mapping>

1)配置Model和View。在SpringMVC中通过Controller返回的数据会被包装在ModelAndView这个类里。此类中包含有返回的具体数据以及返回的数据指向的URL。
2)配置不需要通过Controller处理的资源。框架中,所有的请求都会通过Spring转发器(Dispatcher)拦截,然后转到Controller层处理,但是有些资源文件的访问(比如图片、JS、CSS等文件)不需要经过Controller处理,则可通过mvc:resources实现。如:
<mvc:resources mapping=”/assets/**” location=”/assets/” />
3)其他Spring配置。

    原文作者:anh6
    原文地址: https://segmentfault.com/a/1190000012492857
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞