【SSM框架】一、Spring

【SSM框架】一、Spring,第1张

【SPRING】 一、目前存在的问题

  1. 如果直接使用new的形式,如果接口换了,那么这个service要不要重新编译,重新测试,重新部署,重新发布。就会导致我们的代码耦合度偏高。
  2. 解决方案为,在使用对象时,程序不要主动使用new产生对象,转换为由外部提供对象(IOC控制反转)–》主要目的就是解耦。
  3. spring对ioc思想进行了实现,提供了一个容器,称为ioc容器。它把它管理的对象统称为Bean。
  4. 依赖注入:把service需要的dao对象进行注入,最终的效果是所有的的依赖关系已经帮你绑定好了。
二、IOC入门案例
  1. 使用spring导入坐标?(pom文件)
  2. 如何将被管理的对象告知IOC容器?(使用配置的方法)
  3. 被管理的对象交给ioc容器,如何获取ioc容器?(接口)ioc容器获得到后,如何从容器中获取bean?(接口方法)
三、DI入门案例
  1. 首先要提供对应的set方法
  2. 写配置文件,告知bean对象的关系

四、Bean的配置
  1. 可以配置别名
  2. bean的作用范围(默认是单例的)
  3. bean的实例化方法:
    spring创建bean的时候调用的是无参的构造方法,如果无参的构造方法不存在会抛一个异常叫beanCreationException。
  4. FactoryBean实例化Bean(重点):

  5. bean的生命周期

    这个是初始化方法和结束方法的配置。

    这两个接口各对应一个方法,分别对应初始化和销毁方法。和上面的一样也可以控制。
五、依赖注入的方式

向一个类种传递数据有几种方式?

  1. 普通方法(set方法)
  2. 构造方法
    如果需要注入的不是bean而是数字或字符串呢?
  3. 引用类型
  4. 简单类型
    排列组合一下有四种情况
    ① setter注入引用类型,需要先提供set方法

    ②setter注入简单类型,需要先提供set方法

    ③构造器注入,引用类型


    ④构造器注入,基本类型

    ⑤但是现在配置文件和代码是紧耦合的,要保证注入的属性是一致的。可以换成按照类型注入。

    ⑥还可以根据第几个参数进行注入

    ⑦怎么选是构造器注入还是Setter方法注入?
    如果是强制依赖的属性,使用构造器注入。
六、依赖自动装配
  1. 按类型,如果有两个相同类型的bean会报错。(主要使用)
  2. 按名称匹配,名称不一样会报错。
  3. 自动装配不能对简单类型进行 *** 作。。。。
七、集合注入

八、容器及总结






九、注解开发
  1. 注解定义bean:
  2. 纯注解开发:使用配置类替换配置文件

    然后换一个applicationContext
  3. bean的作用范围和生命周期
    ①变成非单例对象:

    ②加上生命周期方法
  4. 注解开发依赖注入
    ①@Autowired注解可以自动帮我们加上set方法,不需要写set方法了(暴力反射)【按照类型装配】

    ②如果同一个类型的bean有多个,那么就需要按照名称装配


    如果不使用@Qualifier的话,就会按照对象的名称找。

③简单类型怎么注入

④如果是要用到外部的属性文件呢



⑤第三方bean管理


配置类也可以导入很多小的配置类

⑥为第三方bean注入资源
简单类型

引用类型:直接加了个形参就自动装配了。(根据类型注入)

十、Spring整合MyBatis
  1. 思路分析:只有接口没有实现类,说明是用自动代理做的。Mybatis管理的就是SqlSessionFactory对象。

  1. 整合流程
    ①导入spring *** 作jdbc的坐标和Mybatis与spring整合的坐标

    ②配置数据源

    ③注解开发配置类

    ④MybatisConfig

    ⑤做完了!
  2. 总结

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/904805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存