SSM整合

1.applicaitonContext.xml

        <!--管理所有除Controller注解的业务逻辑组件-->
	<context:component-scan base-package="*****">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>
				
	<!--引入外部dbconfig.properties文件-->
	<context:property-placeholder location="classpath:******"/>

	<!--创建数据源对象(使用的是c3p0连接池)-->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${jdbc.url}"></property>	
		<property name="driverClass" value="${jdbc.driver}"></property>
		<property name="user" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
            	<!-- c3p0配置:当连接池中的连接耗尽的时候c3p0一次同时获取的连接数  -->
                <property name="acquireIncrement" value="5"></property>
            	<!-- 初始连接池大小 -->
                <property name="initialPoolSize" value="10"></property>
            	<!-- 连接池中连接最小个数 -->
                <property name="minPoolSize" value="5"></property>
            	<!-- 连接池中连接最大个数 -->
                <property name="maxPoolSize" value="20"></property>
	</bean>

	<!--开启Spring事务管理器,引入数据源-->
	<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<!--开启基于注解的事务-->
	<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>

	<!--整合MyBatis-->
	<!--1.创建sqlSessionFactoryBean对象-->
	<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
	 	<property name="dataSource" ref="dataSource"></property>
            	<!-- 别名 -->
        	<property name="typeAliasesPackage" value="pojo完整包名"></property>
	 	<!-- 指定mapper文件的位置 -->
	 	<property name="mapperLocations" value="classpath:********"></property>
                <!-- configLocation 指定配置全局文件的位置 (mybatis-config.xml)
	 	<property name="configLocation" value="classpath:*********"></property>
		-->
	 </bean>

	<!--2.加载mapper接口-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                <!--指定会话工厂,如果当前上下文中只定义了一个则该属性可省去 -->
        	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
	 	<property name="basePackage" value="com.student.dao"></property>
	</bean>

	<!-- 事务管理器 -->
   	<bean id="txManage" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	        <property name="dataSource" ref="dataSource"></property>
   	</bean>
		
	<!-- 声明式事务 -->
        <tx:advice id="txAdvice" transaction-manager="txManage">
            <tx:attributes>
                <tx:method name="ins*" rollback-for="java.lang.Exception"/>
                <tx:method name="del*"  rollback-for="java.lang.Exception"/>
                <tx:method name="upd*"  rollback-for="java.lang.Exception"/>
                <tx:method name="*" read-only="true"/>
            </tx:attributes>
        </tx:advice>
        	<!-- 配置aop -->
        <aop:config>
                <aop:pointcut expression="表达式**********" id="txpoint"/>
                <aop:advisor advice-ref="txAdvice" pointcut-ref="txpoint"/>
        </aop:config>

2.springmvc.xml

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

	<!--配置视图解析器-->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/pages/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

	<!--注解驱动-->
	<mvc:annotation-driven></mvc:annotation-driven>
	<!--静态资源放行-->
	<mvc:default-servlet-handler/>

3.web.xml

	<!--Spring配置:读取applicationContext.xml-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:*****</param-value>
	</context-param>

	<!--启动Spring-->
	<listener>
    	      <listener-class>
                      org.springframework.web.context.ContextLoaderListener
              </listener-class>
	</listener>

	<!--SringMVC配置 默认的配置文件路径为 /WEB-INF/<Servlet-name>-servlet.xml-->
	<servlet>
		<servlet-name>
                      springmvc
                </servlet-name>
	        <servlet-class>
                      org.springframework.web.servlet.DispatcherServlet
                </servlet-class>
		<load-on-startup>
                        1
                </load-on-startup>
	</servlet>
	
      <servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
      </servlet-mapping>

	<!--配置SpringMVC编码过滤器(防止乱码)-->
	<filter>
	      <filter-name>
                  CharacterEncodingFilter
              </filter-name>
	      <filter-class>
                  org.springframework.web.filter.CharacterEncodingFilter
            </filter-class>
	    <init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	    </init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
posted @ 2020-10-10 23:15  深陈  阅读(217)  评论(0)    收藏  举报