SSM个人总结

spring配置文件中注入

配置文件:applicationContext.xml

image-20200701090354455

image-20200701090452525

mybatis映射文件和元素关联映射

image-20200701124751305

Spring AOP切面类和环绕通知的使用

<!--    AOP系统监控日志管理的配置-->
    <!--    AOP配置:增强业务实现类配置-->
    <bean id="SYSLogAdvice" class="com.yuw.advice.SYSLogAdvice"></bean>


    <aop:config>

        <!--        AOP配置:切入点的配置(规范了构成切入点的连接点的范围)-->
        <!--
                expression表达式用于标识符合哪些规范要求的连接点(方法)可以构成切入点:
                解析expression表达式:
                    execution()是固定格式,表示范围表达式写在括号中;
                    表达式:* com.yuw.service.*.*(..)  解析:
                        第一个 * 表示方法的返回值类型为任意类型,包括 void;
                        com.yuw.service表示目标方法所在的包路径名;
                        com.yuw.service.* 表示这个包路径下的所有的类;
                        *(..)是一个整体,其中(前面的*表示任意的方法名; 当然可以使用前缀或者后缀配合型号通配符;例如  do*  表示以do开头的方法;
                                         其中()表示方法定义时的();
                                         其中括号中的 .. 表示方法声明定义时的形参列表;
            例如:
             boolean com.yuw.service.serviceimpl.UserInfoServiceImpl.doLogin()
        -->
        <!--        下面的pointcut配置表示在 com.yuw.service包下面的所有的类的所有的方法都可以构成本次配置的切入点-->
        <aop:pointcut id="sysLogging"
                      expression="execution(* com.yuw.service.*.do*(..))"/>

        <!--        AOP配置:切面的配置-->
        <!--        aspect配置中 ref表示引入的增强处理的类 (ref表示切面的业务逻辑由那个类来处理)-->
        <aop:aspect id="myAspect" ref="SYSLogAdvice">
            <!--            对织入的配置:织入的时机点有 before、after、around-->
            <!--            将连接点和增强进行织入,织入的时机点是before,也就是方法执行之前进行增强处理
                        before表示连接点和增强触发的时机点;
                        method表示进行增强的类中有那个方法完成此次的业务逻辑处理;
                        pointcut-ref:表示此次增强处理和那些连接点进行结合(切入点和增强之间的结合)
                        -->
            <aop:before method="sysLogging" pointcut-ref="sysLogging"></aop:before>
        </aop:aspect>
    </aop:config>

image-20200701130314870

SpringMVC 文件上传操作

image-20200701130612580

image-20200701130646621

什么是控制反转、依赖注入,依赖注入的实现方式事务特性和Spring的事务实现分类,使用什么注解声明事务

  2.1 依赖注入和控制反转的概念
        依赖注入:
            spring容器根据托管在容器中的javabean之间的依赖关系(组合关系),根据需要将spring容器创建的实例对象注入(赋值)给组合的属性对象;
            也就是,Spring容器根据javabean之间类与类之间的组合关系,将被组合的实例对象进行自动初始化赋值;【省略了手动new初始化赋值的过程】    

        控制反转:
            控制反转是依赖注入的另一方面的理解;
            在spring容器中,javabean之间的类与类之间存在组合关系,当一个类组合了另外一个类,这个类将被组合的对象的初始化控制权托管给spring容器进行处理,
            这就是控制反转;
            也就是,一个类将其内部组合的其他的类初始化控制权“反转”给spring容器;由spring容器负责将这些被组合的类进行自动初始化赋值;

        总结:
            依赖注入和控制反转是同一个事务的两个不同角度的理解:
                从spring容器角度看:依赖注入是spring容器根据javabean 之间的组合关系,完成自动初始化赋值;
                从javabean的角度看:控制反转就是将该类中组合的实例对象的是初始化控制权交给spring容器进行管理,完成自动初始化赋值;
                  2.2 依赖注入和反转控制的实现
        (1) setter接口的方式实现
            给需要进行依赖注入的属性提供setter接口,并在spring配置中使用property标签进行配置;
        (2) 构造方法的方式实现
            需要提供指定参数的构造方法;【注意:是否需要显式写出默认的构造方法】
    事务特性和spring事务实现分类,使用什么注解声明事务
事务特性:ACID原子性、一致性、隔离性Isolation、持久性
基于@transactional注解的声明式事务管理


Spring Bean作用域

singleton:(默认)再spring IOC容器中仅存一个Bean实例,Bean以单例方式存在
prototype:每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,
  相当于执行 new XxxBean()
request:每次Http请求都会创建一个新的Bean,
  该作用域仅适用于WebApplicationContext环境
session :同一个Http Session共享一个Bean,不用Session使用不同Bean,
  仅适用于WebApplicationContext环境
globalSession:一般用于Porlet应用环境,
  该作用域仅适合与WebApplicationContext环境

SpringMVC工作原理

image-20200701131515201

SpringMVC控制器接收请求参数的常见方式有哪几种?

image-20200701131932696

MyBatis元素

Spring基于注解的自动装配。

 1.byName:把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中。如果没有与属性的名字相匹配的Bean,则该属性不进行装配。

   2.byType:把与Bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。如果没有与属性的类型相匹配的Bean,则该属性不进行装配。

   3.constructor:把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean构造器的对应入参中。

   4.autodetect:先按constructor来装配,失败了按byType来装配。

MyBatis如何处理实体类中的属性名和表中的字段名不一致的情况

 解决办法一: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系的。

  解决办法二: 通过<resultMap>来映射字段名和实体类属性名的一一对应关系。这种方式是使用MyBatis提供的解决方式来解决字段名和属性名的映射关系的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值