• Spring总结1.0


    1.介绍Spring
            1.1:概念
                介绍Spring
                    Spring家族:是一个技术级,包含多个技术,每一个技术解决一个问题
                    SpringFrame:spring底层技术,是其他spring技术的基础,所有的技术都依赖Spring框架运行
                    Spring框架:是一个基于java轻量级别的javaEE开源框架
            1.2Spring框架内部技术


                CoreContainers:核心容器,用来保存spring管理的对象,实现解耦
                AOP:实现功能增强,底层代理模式
                Data Access:提供资助的数据层操作技术,并能整合市面上常见的数据层技术
                Web:提供自主的表现层技术(SpringMvc),并能整合市面上常见的表现层技术
                Test:提供有方便的测试方式
        2.核心(Ioc/DI)
            2.1核心概念
                控制反转Ioc:就是说对象的创建全发生改变,由程序使用时主动new变成由外部提供
                依赖注入:受容器管理的对象可以在容器中完成相互之间的依赖关系绑定,实现对象与对象之间的依赖关系建立
                Ioc容器:提供了一个保存对象的容器,可以提供对象
                bean:Spring管理的资源叫做bean,Spring容器中保存的对象成为bean
            2.2spring核心框架作用:解耦
        3.入门案例步骤
            3.1Ioc入门案例
                1.导入Spring-cotext *****版本自己选择
                2.创建要管理的对象(Dao Service)
                3.配置applicationContext.xml beans.xml
                4.获取对象
                  

     ApplicationContext ctx=new ClassPathXmlApplicationContext("配置文件名.xml");


                5.使用容器对象获取bean
                  

     ctx.getbean("bean的id")


            3.2DI入门案例
                1.基于Ioc入门案例制作
                2.在需要资源的位置(Service实现类)定义要使用的资源
                3.为要注入的提供资源的set方法(标准Setter)
                4.在配置中设置依赖关系
                  

    1. <bean>
    2. <property name="注入的属性名/setter方法名" ref="要注入的bean的id"/>
    3. bean>


        4.bean配置
            4.1相关配置
                bean:标签 用于定义bean
                id:属性,表示bean
                name:属性,设置别名,使用空格,逗号,分号隔离即可
                class:属性,设置bean类型
                scope:属性,设置bean创建的对象是否为单例,默认为singleton,prototrpe
            注意实体类通常不会交给bean管理
            4.2bean的初始化    
                构造器初始化(常用)
                    默认spring调用无参构造方法创建对象
                静态工厂初始化
                    提供一个静态工厂,创建出的bean即静态工厂的返回值
                    class:静态工厂类名
                    factor-method:静态工厂方法名
                实例工厂初始化
                    提供一个实例工厂,创建出的bean即实例工厂的返回值
                    factory-bean:实例工厂对象对应的bean(要单独配置工厂bean)
                    factory-method:实例工厂名
            4.3依赖注入
                根据注入的方式分类
                    1.setter注入(常用)
                    2.构造器注入
                根据注入的数据类型分类
                    引用数据类型分类(常用)
                    简单类型
                        数据基本类型
                        String
                1.setter注入引用类型
                    1.提供setter方法
                    2.使用ref属性绑定注入的bean
                    

    1. <bean>
    2. <property name="??" ref="beanId1">
    3. <property name="??" ref="beanId2">
    4. bean>


                2.setter注入简单类型
                    1.提供setter方法
                    2.使用value属性绑定注入的bean
                    

    1. <bean>
    2. <property name="??" value="value1">
    3.     <property name="??" value="value2">
    4. bean>


                1.构造器注入引用类型
                    1.提供setter方法
                    2.使用ref属性绑定注入的bean
                    

    1. <bean>
    2. <constructor-arg name="??" ref="beanId1">
    3. <constructor-arg name="??" ref="beanId2">
    4. bean>


                2.构造器注入简单类型
                    1.提供setter方法
                    2.使用value属性绑定注入的bean
                    

    1. <bean>
    2. <constructor-arg name="??" value="value1">
    3. <constructor-arg name="??" value="value2">
    4. bean>


                还可以通过type设置构造器注入的类型,还可以通过index按照参数位置进行注入
            2:自动装配
                对注入的引用类型资源按照指定规则自动注入
                前提:要注入的东西必须存在
                自动装配的类型
                    byType:按类型(常用)
                    byName:按照名称
                    constructor:按构造方法
                    no:不启用自动装配(默认)

  • 相关阅读:
    数据爬取京东,按时间划分的,手机价格,销量
    MySQL8.0优化 - 锁 - 从数据操作的粒度划分:表级锁、页级锁、行锁
    Spring Boot 实现接口幂等性的 4 种方案
    物联网网关:连接设备与云端的桥梁
    gateway学习
    【软考】系统集成项目管理工程师(八)项目进度管理
    第五章:LockSupport与线程中断
    day006--自连接,自然连接及using关键字的使用
    Golang高性能日志库zap + lumberjack 日志切割组件详解
    献给转java的c#和java程序员的数据库orm框架
  • 原文地址:https://blog.csdn.net/weixin_50991263/article/details/126926113