0306spring--复习
创始人
2024-05-29 16:34:00

一,spring是什么
       Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架
理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架
优点:
弊端:违背了原有的技术理念:配置太过繁琐,被称为“配置地狱”

二,Spring框架由七个定义明确的模块组成

三,现代化的开发就是基于spring容器的开发,
      1.springboot :一个快速开发的脚手架
        约定大于配置
       2.springcloud:
        springCloud是基于SpringBoot实现的

四,控制反转和面向切面
IOC:(获得依赖对象的方式反转了,对象由spring来创建,管理和装配)
1.控制反转:从本质上解决了问题,使我们程序员不用再去管理对象的创建了
       系统的耦合性大大降低,可以更专注于业务的实现(IOC的原型)
1)以前:程序是需要程序员主动创建对象,控制权在开发人员手上
2)使用了set方法,程序不再具有主动性,而是变成了被动的接受对象,主动权在用户手上
3)配置:
    


    ref: 引用Spring容器中创建好的对象
        value:具体的值,基本数据类型
4)IOC创建对象的方法:
    1.默认使用无参构造创建对象
    2. 手动配置有参构造:constructor
        1)下标赋值:index
        2)通过类型创建(不建议)
        3)通过参数名:name
5)在配置文件加载的时候,容器中管理的对象就已经初始化了,(容器类似于婚介所,只有对象注册到了婚介所,当容器applicationcontext被创建,被管理的对象也就存在,也就是被初始化了)

五,spring的配置
1.别名:
    alias:----->如果添加了别名,我们也可以通过别名获取对象
2.Bean的配置:
    id:bean的唯一标识符,也就是相当于我们的对象名
    class:bean的全限定名“包名+类名”(bean对象所对应的全限定名)
    name: 也是别名:而且name比alias更高级,可以同时取多个别名(逗号或空格或分号分割)
    ref:引用Spring容器中创建好的对象
    value:具体的值,基本数据类型
3.import:
    1)这个import,一般用于团队开发,可以将多个配置文件,导入合并为一个
    2)假设项目中有多个人开发,这三个人负责不同类的开发,不同类需要注册到不同的bean中,我们可以利用import将所有人的beans.xml合并为一个总的
    张三:beans
    李四:beans2
    王五:beans3
    applicationContext.xml:
             
            
            
    使用的时候,直接使用总的配置就好了

六,DI依赖注入
1.构造器注入:
    
2.通过set方式注入
    依赖注入:set注入
    依赖:bean对象的创建依赖于容器
    注入:bean对象中的所有属性,由容器来注入
    环境搭建:
        1.复杂类型
        2.真实测试对象

红楼梦西游记水浒传三国演义听歌王者跳舞LOLCOCBoB190970070小俊


3.其他方式注入

注意:这两种不能直接使用,需要去导入约束,从官方文档去拿
1)p命名注入       xmlns:p="http://www.springframework.org/schema/p"
 2)c命名注入      xmlns:c="http://www.springframework.org/schema/c"
    
    
    
    
    
            

4.bean的作用域:

 1)单例模式:singleton:
    spring 默认机制
        
2)原型模式:prototype:
    每次从容器中get的时候,都会产生一个新对象

3)其他的在web中才用到

七.Bean的自动装配 

自动装配是spring满足bean依赖的一种方式
spring会在上下文中自动寻找,并自动给bean装配属性
三种装配在方式:
1)在xml中显示的配置
2)在java中显示的配置
3)隐式的自动装配bean(重要)
    1.byName自动装配
    byName会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanID


    2.byType自动装配
    byName会自动在容器上下文中查找,和自己对象属性类型相同的beanID

小结:

  • byname的时候:需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法值一致
  • byname的时候:需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型值一致

    

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...