SSM中课程感悟。
一张表对应一个实体类,对应一个Mapper接口,对应一个映射文件。
多对一就是对应一个对象,返回实体。
一对多:就是对应一个集合。
Mapper 方法的参数为List数组的时候,Mybatis都会把这些数据放入到map中,会把“List”为键,List集合参数为值,所以需要@param,设置参数注解,这样就不用猜测和测试,直接用自己自定义的@Param.
spring:
工厂模式+反射模式,就是spring生成实例化对象的模式
Spring的几个特点,声明式编程,意思是,我需要做什么,直接声明出来就可以,约定大于配置,配置大于编码。
面向接口编程,根据我们当前类型所实现的接口去匹配bean(组件)
IOC的具体实现是DI,为自己依赖的属性赋值的过程,就叫做依赖注入。
IOC是怎么创建的对象:
是通过我们class里面所设置的类型,来获取这个类型的class对象,然后再通过我们当前的new instance 方法,来调用无参构造来创建的对象。所以,bean的class = 中无法选择接口,它没有无参构造函数。
name:设置需要赋值的属性名,和set方法有关。大部分情况下,与成员变量是同一个意思。
获得工厂所提供的对象。
把工厂对象提供到ioc容器中,咱们获取的是Factorybean所提供的对象。
三层架构的过程:
控制层里调用service,来处理业务逻辑,
service来调用Dao来实现持久化操作。
基于注解@autowire管理bean,在类对象中用注解,但是当我们用外部的jar包时,没办法进去其实体对象中,所以只能用xml去管理自动加载bean.
自动装配:
ByType:根据类型在ioc中去找到一个类型匹配的bean来为当前的属性自动进行赋值。
Byname:把我们要进行赋值的属性的名字,来作为bean的id在ioc容器中去匹配到某一个bean来为当前的属性赋值。