自己关于SSM框架的搭建

依然范特西╮ 提交于 2020-01-12 05:03:04

第一步

  导入相应的包

  spring springmvc 需要的包

  spring-webmvc
  spring-aop
  spring-beans
  apring-context
  spring-core
  spring-web
  spring-expression
  commons-logging

  spring-jdbc JDBC需要的包

  spring-jdbc
  spring-tx

  spring-aspects面向切面
  spring-aspects
  aspectjweaver

  MyBats的包
  mybatis

  

  MyBatis整合Spring的适配包
  mybatis-spring

  c3p0 数据库连接池、驱动
  mysql-connection
  c3p0

  其他
  jstl servlet-api,junit
  jstl
  javax.servlet-api
  junit

  这些jar包,就请自己找一下。如果是maven请在https://mvnrepository.com/这里找包。

  请将这些包,放在WebRoot/WEN-INF/lib 下。

  下面来配置web.xml文件

1、启动Spring的容器 
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-serlvet.xml</param-value>//spring配置文件
</context-param>
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>   //监听器


<!--2、springmvc的前端控制器,拦截所有请求  -->
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>classpath:springmvc-config.xml</param-value>  //springmvc配置文件,不配置的话在web同目录下写一个dispatcherServlet-servlet.xml的文件
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 3、字符编码过滤器,一定要放在所有过滤器之前 -->
<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>
    <init-param>
        <param-name>forceRequestEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
        <init-param>
        <param-name>forceResponseEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

这只是一个大概的web.xml配置。

接下来,来配置springmvc的配置文件。

<!--SpringMVC的配置文件,包含网站跳转逻辑的控制,配置  -->
<context:component-scan base-package="你的包名" use-default-filters="false">
    <!--只扫描控制器。  -->
    <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/views/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>
<!--两个标准配置  -->
<!-- 将springmvc不能处理的请求交给tomcat -->
<mvc:default-servlet-handler/>
<!-- 能支持springmvc更高级的一些功能,JSR303校验,快捷的ajax...映射动态请求 -->
<mvc:annotation-driven/>

 

接下来,来配置spring的配置文件。spring-serlvet.xml

<context:component-scan base-package="你的包名">//不扫描控制器,其他的都需要
        <context:exclude-filter type="annotation"
            expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
<!-- Spring的配置文件,这里主要配置和业务逻辑有关的 -->
<!--=================== 数据源,事务控制,xxx ================-->
<context:property-placeholder location="classpath:dbconfig.properties" />//引入当前文件同目录下的dbconfig.properties
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
</bean>


<!--================== 配置和MyBatis的整合=============== -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 指定mybatis全局配置文件的位置 -->
    <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    <property name="dataSource" ref="pooledDataSource"></property>
    <!-- 指定mybatis,mapper文件的位置 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"></property>//同目录下的mapper文件
</bean>
<!-- 配置扫描器,将mybatis接口的实现加入到ioc容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!--扫描所有dao接口的实现,加入到ioc容器中 -->
    <property name="basePackage" value="你的包名.dao"></property>
</bean>
<!-- 配置一个可以执行批量的sqlSession -->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
        <constructor-arg name="executorType" value="BATCH"></constructor-arg>
    </bean>
    <!--=============================================  -->


<!-- ===============事务控制的配置 ================-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!--控制住数据源  -->
        <property name="dataSource" ref="pooledDataSource"></property>
    </bean>
    <!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式)  -->
    <aop:config>
        <!-- 切入点表达式 -->
        <aop:pointcut expression="execution(* com.atguigu.crud.service..*(..))" id="txPoint"/>
        <!-- 配置事务增强 -->
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
    </aop:config>
    
    <!--配置事务增强,事务如何切入  -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!-- 所有方法都是事务方法 -->
            <tx:method name="*"/>
            <!--以get开始的所有方法  -->
            <tx:method name="get*" read-only="true"/>
        </tx:attributes>
    </tx:advice>
    
    <!-- Spring配置文件的核心点(数据源、与mybatis的整合,事务控制) -->

下面在配上自己的目录

mbg.xml是myBatis的反向生产文件。

这样的话,就是可以跑了的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!