ssm整合的配置文件

1.首先整合dao
第一步:配置mybatis自己的配置文件SqlMapConfig.xml

<configuration>
    <!-- 全局setting配置,根据需要添加 -->

    <!-- 配置别名 -->
    <typeAliases>
        <!-- 批量扫描别名 -->
        <package name="jun.ssm.po" />
    </typeAliases>

    <!-- 配置mapper 
    由于使用spring和mybatis的整合包进行mapper扫描,这里就不需要配置了,但须遵循:mapper.xml和mapper.java文件同名且在一个目录 -->
    <!-- <mappers> </mappers> -->
</configuration>

第二步:配置spring配置文件applicationContext-dao.xml

<!-- 配置数据源 -->
    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:jdbc.properties" />
    <!-- 数据源,使用 c3p0 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${driver}"></property>
        <property name="jdbcUrl" value="${url}"></property>
        <property name="user" value="${username}"></property>
        <property name="password" value="${password}"></property>
    </bean>

    <!-- sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 加载mybatis的配置文件 -->
        <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property>
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- mapper扫描器 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 扫描包路径,如果扫描多个包,中间使用半角逗号分隔 -->
        <property name="basePackage" value="jun.ssm.mapper"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>

2.然后整合service,让spring管理service接口
首先创建applicationContext-service.xml

<!-- 定义联系人的service -->
    <bean id="linkManService" class="jun.ssm.service.impl.LinkManServiceImpl"></bean>

还有配置事务控制,创建applicationContext-transaction.xml

<!-- 事务管理器
        对mybatis操作数据库的事务控制,spring使用jdbc的事务控制类
     -->
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 数据源 
        dataSource在applicationContext-dao.xml中配置了
        -->
        <property name="dataSource" ref="dataSource"></property>
     </bean>

     <!-- 通知 -->
     <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!-- 传播行为
            变向规范代码 
            -->
            <tx:method name="save" propagation="REQUIRED"/>
            <tx:method name="delete" propagation="REQUIRED"/>
            <tx:method name="insert" propagation="REQUIRED"/>
            <tx:method name="update" propagation="REQUIRED"/>
            <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
            <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
            <tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
        </tx:attributes>
     </tx:advice>

     <!-- aop -->
     <aop:config>
        <aop:advisor advice-ref="txAdvice" pointcut="execution(* jun.ssm.service.impl.*.*(..))"/>
     </aop:config>

3.整合springmvc
创建springmvc.xml,配置处理器、适配器、视图解析器

<!-- 对于注解的Handler进行组件扫描 -->
    <context:component-scan base-package="jun.ssm.controller"></context:component-scan>

    <!-- 使用mvc:annotation-driven代替注解映射器和注解适配器 
    mvc:annotation-driven默认加载很多的参数绑定方法,比如json转换解析器就默认加载了
    实际开发使用这种方法
    -->
    <mvc:annotation-driven></mvc:annotation-driven>

    <!-- 视图解析器
    解析jsp,默认使用jstl,classpath下需要jstl包
     -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>

4.加载spring容器
建议使用通配符在web.xml中加载配置文件

<!-- 加载spring容器 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/spring/applicationContext-*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- 配置spring前端控制器 -->
  <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:spring/springmvc.xml</param-value>
    </init-param>   
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>
SSM整合配置文件的方式一般有两种:基于XML的配置和基于注解的配置。 1. 基于XML的配置 (1)在Spring配置文件中配置MyBatis和Spring的整合: ``` <!--配置MyBatis的SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:mapper/*.xml"/> </bean> <!--配置MyBatis的扫描器--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.xxx.mapper"/> </bean> <!--配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> ``` (2)在MyBatis的配置文件中配置数据源: ``` <dataSource type="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> ``` (3)在Spring配置文件中配置数据源的属性: ``` <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <util:properties id="jdbc" location="classpath:jdbc.properties"/> ``` 2. 基于注解的配置 (1)在Spring配置文件中配置MyBatis和Spring的整合: ``` <!--配置MyBatis的SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:mapper/*.xml"/> </bean> <!--配置MyBatis的扫描器--> <mybatis:scan base-package="com.xxx.dao"/> <!--配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> ``` (2)在Java类中使用注解配置数据源: ``` @Configuration @PropertySource("classpath:jdbc.properties") public class DataSourceConfig { @Value("${jdbc.driverClassName}") private String driverClassName; @Value("${jdbc.url}") private String url; @Value("${jdbc.username}") private String username; @Value("${jdbc.password}") private String password; @Bean public DataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } } ``` 注:以上代码中的数据源使用的是阿里巴巴的Druid连接池。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值