• SSM整合学习笔记


    SSM整合核心:
    1、持久层:
    org.mybatis.spring.mapper.MapperScannerConfigurer
    自动扫描 将Mapper接口生成代理注入到Spring
     
    <!-- 使用mapper批量扫描器扫描mapper接口
    规则:mapper.xml和mapper.java在一个目录 且同名即可
    扫描出来mapper,自动让spring容器注册,bean的id就是mapper类名(首字母小写)
    -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- 会话工厂 -->
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>
    <!-- 扫描包路径
    多个包中间用半角逗号分隔
    -->
    <property name="basePackage" value="cn.itcast.ssm.dao.mapper"/>
    </bean>
     
    2、整合业务层
     
    Spring管理service
    整合目标:
    Service通过spring调用mapper
    <!-- 用户管理 -->
    <bean id="userService" class="cn.itcast.ssm.service.impl.UserServiceImpl"/>
     
    3、控制层
    action中通过spring调用service
    <!-- 组件扫描 只扫描action -->
    <context:component-scan base-package="cn.itcast.ssm.action" />
     
     
    <!-- 使用<mvc:annotation-driven />替换上边定义的处理器映射器和适配器 -->
    <mvc:annotation-driven />
     
    <!-- 视图解析器 解析jsp视图,默认使用jstl,要求classpath下有jstl的jar包 -->
    <bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!-- 视图的前缀 -->
    <property name="prefix" value="/WEB-INF/jsp/" />
    <!-- 视图的后缀 -->
    <property name="suffix" value=".jsp" />
     
    </bean>
     
    逻辑视图说白了就是我们在action中return 的字符串。
    <!-- 视图的前缀 -->
    <property name="prefix" value="/WEB-INF/jsp/" />
    <!-- 视图的后缀 -->
    <property name="suffix" value=".jsp" />
    实际是,在配置文件中:/WEB-INF/jsp/字符串.jsp
     
    @Autowired来指定自动装配,使用@Autowired可以标志setter方法、普通方法、和构造器
    当@Autowired标注Field时Spring会把容器中的与该Field类型匹配的Bean注入该属性
     
     
    事务控制
     
    为了规范程序员编码,采用声明式事务配置方式。
     
    在applicationContext.xml配置事务管理:
    <!-- 事务管理器
       mybatis使用jdbc事务管理
        -->
       <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <!-- 数据源 -->
          <property name="dataSource" ref="dataSource"/>
       </bean>
      
       <!-- 通知 -->
       <tx:advice id="txAdvice" transaction-manager="transactionManager">
          <!-- 配置传播行为 -->
          <tx:attributes>
             <tx:method name="save*" propagation="REQUIRED"/>
             <tx:method name="insert*" propagation="REQUIRED"/>
             <tx:method name="update*" propagation="REQUIRED"/>
             <tx:method name="delete*" 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(* cn.itcast.ssm.service.impl.*.*(..))"/>
    </aop:config>
     
    黄线是准备回归的类
  • 相关阅读:
    leetcode1118
    Kaggle练习002--Predict survival on the Titanic(Titanic Disaster)
    leetcode1111
    leetcode1110
    leetcode1109
    练习题|网络编程-socket开发
    web网页练习
    Bootstrap框架
    JQuery框架2.位置属性|筛选方法|事件
    Jquery框架1.选择器|效果图|属性、文档操作
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/8966661.html
Copyright © 2020-2023  润新知