spring框架的基础配置

1 篇文章 0 订阅

近段时间使用SSM框架进行项目开发,在经过深入学习和项目实战后,我觉得掌握框架的使用和底层原理 先要从文件的配置开始入手,搞清楚控制关系从而进行深入的研究。下面是我在学习中的一些笔记,主要是其他框架以及工具组建与spring框架的集成配置,有不对的地方 或者 好的建议 希望大家能够指出,共同分享,共同进步。
               一、web.xml的配置  基本的要配置对 service、dao、controller的管理配置
    <!--监听器配置(用来加载(用来加载Spring的根容器)管理业务类对象和数据访问层对象   即service和Dao)  此配置要加载管理业务类对象和数据访问对象的配置文件-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

              配置加载所有spring的相关配置
      <!--此路径说明 加载类路径下的spring文件夹下 以spring开头的所有xml文件-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-*.xml</param-value>
    </context-param>


      <!--配置前端控制器 用来管理普通控制器即Controller  此配置要加载的配置文件是mvc-servlet.xml-->
    <servlet>
        <servlet-name>mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/mvc-servlet.xml</param-value>
        </init-param>


        <!-- 配置上传下载 -->
        <load-on-startup>1</load-on-startup>
        <multipart-config>
            <max-file-size>1000000</max-file-size>
        </multipart-config>

    </servlet>

    <servlet-mapping>
        <servlet-name>mvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    此外如果使用安全框架、缓存之类的工具  需要在web.xml中配置


         二、前端控制器xml文件的配置
      前端控制器是用来管理控制器的  所以这里要配置对控制器所在包的扫描 用来加载控制器
      <!--配置控制器地址  通过扫描控制器所在的包实现控制器的管理-->
      <context:component-scan base-package="com.lhl.ysyx.controller"/>
       因为客户端发送请求首先访问的前端控制器  所以一些访问jsp页面资源的 解析配置也在这里配置 
       以及对控制器中方法返回值的数据格式配置  也在此

        <!--配置内部资源视图解析   只对请求转发有效果-->
       <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>

        <!--配置说明将控制器方法返回对象转化为json格式数据输出-->
        <mvc:annotation-driven/>

        <!--配置默认首页-->
         <mvc:view-controller path="/" view-name="redirect:/safty/login_to"/>
                  
    <!-- 允许访问静态资源  -->
        <mvc:default-servlet-handler/>

      三、接下来是对业务逻辑层、数据访问层等的配置  根据不同的层创建相应的xml文件
           
           例如:1、spring-dao.xml  进行spring管理数据库访问的配置  就是业务中与数据库进行数据交互的dao接口 以及放sql语句的xml映射文件  
             <!--配置SqlSession工厂     配置映射文件的路径-->
               <bean class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="dataSource" ref="dataSource" />
                                                               xml映射文件的路径
           <property name="mapperLocations" value="classpath*:mybatis_mapper/**/*.xml" />
        </bean>
               
              <!--配置映射器(交给Spring管理)-->
               <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                                                                  
          <property name="basePackage" value="com.lhl.ysyx.dao" />
        </bean>
  
                2、spring-ds.xml   进行数据源配置 即数据库连接池的配置 提供与数据库的连接
                 <!--配置properties文件 读取属性文件信息-->
                  <context:property-placeholder  location="classpath:jdbc.properties"/>
                 <!--配置druid数据源--> 
         <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
            <property name="driverClassName" value="${jdbc.driver}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
        
             <property name="filters" value="stat" />
        
             <property name="maxActive" value="20" />
             <property name="initialSize" value="1" />
             <property name="maxWait" value="60000" />
             <property name="minIdle" value="1" />
        
             <property name="timeBetweenEvictionRunsMillis" value="60000" />
             <property name="minEvictableIdleTimeMillis" value="300000" />
        
             <property name="testWhileIdle" value="true" />
             <property name="testOnBorrow" value="false" />
             <property name="testOnReturn" value="false" />
        
             <property name="poolPreparedStatements" value="true" />
             <property name="maxOpenPreparedStatements" value="20" />
        
             <property name="asyncInit" value="true" />
         </bean> 
             

                 3、spring-service.xml 进行业务逻辑层的配置 交给spring管理
          
                    <!--配置业务类所在的包  用来扫描业务类-->      
                  <context:component-scan base-package="com.lhl.ysyx.service"/>
                  
                 <!--配置事务管理器-->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <property name="dataSource" ref="dataSource" />
        </bean>

                <!--配置事务通知-->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <!-- 
                propagation="REQUIRED" 事务传播规则
             -->
            <tx:attributes>                             
                <tx:method name="*" propagation="REQUIRED" rollback-for="java.lang.Exception" />
            </tx:attributes>
        </tx:advice>
        <!--事务通知和事务管理器通过 事务管理器的id关联  事务切面和事务通知通过事务通知的id关联-->
        <!--配置事务切面  expression属性表示Spring切面切入的点  从业务接口切入  会对业务层方法的执行出现异常时进行回滚-->
        <aop:config>
            <aop:pointcut id="serviceOperation" expression="execution(* com.lhl.ysyx.service.*Service.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation"/>
        </aop:config>
            4、其他工具与spring集成的配置 也是一样单独来配置

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值