• JAVA 之 Spring框架学习 1:Springの初体验 IOC DI


    Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%

    专业角度 简化开发,降低企业级开发的复杂性

    框架整合,高效整合其他技术,提高企业级应用开发与运行效率

    1.学习Spring框架设计思想

    2.学习基础操作,思考操作与思想间的联系

    3.学习案例,熟练应用操作的同时,体会思想

    初识Spring

    官网:spring.io

    Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能

    这三个技术基本能应对企业级开发所有的开发

    目前我们要学的是Spring Framework 

    学配置有助于理解,学注解可以提高效率

    Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基

    系统架构:

    学习路线:

    核心概念:

    当我们数据层实现的时候,如果需要更新代码,需要新写个实现类,那么业务层就要跟着修改new的对象,这样耦合度很高。

    IOC控制反转就可以解决这个问题 : 

    目标:充分解耦

    使用IoC容器管理bean(IoC)

    在IoC容器内将有依赖关系的bean进行关系绑定(DI)

    最终效果 使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系

    IOC入门案例

    1.先导入Spring依赖:

    
        org.springframework
        spring-context
        5.2.10.RELEASE
    

    2.

    然后再resources文件夹下新建 applicationContext.xml配置文件

    配置内容写:

    bean定义时id属性在同一个上下文中不能重复

     

     就完成了

    DI 入门案例

    Bean基础配置

    Bean别名配置

     通过name也能找到对应的bean

    bean作用范围配置

     控制bean创建实例的数量,默认情况下创出的多个bean都是同一个bean

    实例化bean的三种方式

    1.构造方法:(常用)

    实际上就是调用无参构造方法,如果没有无参构造方法,就会抛出异常了

    2.使用静态工厂实例化bean  (了解)

     

     3.使用实例工厂实例化bean (了解)

     4.使用factoryBean实例化  (第三种方式的变种)  务必掌握

    获取new对象的方法直接变成了getObeject(),而且配置的内容比第三种方法简洁更多

    而且实例化的对象都是单一的,如果不想实例出的对象单一,那么需要在工厂bean 实现

    isSingleton()方法,并且return false就可以了

     

    Bean的生命周期

     

    生命周期控制方法 

    配置的方式

    接口的方式(了解)

     bean销毁的时机

     

     

    注入

    依赖注入的两种方式

    Setter注入的两种类型

     

     

     构造器注入的两种类型(了解)

     

     

     

     依赖自动装配

     

     

     集合注入

     

     

     

     

     

    Spring管理第三方资源

    加载properties文件 动态管理上一节jdbc的name ,url等内容

     

    1.首先对照原来内容,开辟新的命名空间  beans全都换成context:

     2.使用context空间 加载properties文件

     注意:防止名称跟系统属性冲突,我们的properties文件的键尽量使用jdbc.username 

    而不是username

    而且context的 location配置路径的时候 我们写成

    这样可以加载当前模块下所有的.properties文件,不需要写多个了

     

  • 相关阅读:
    学习Nginx,跟着阿里大牛走,一套精心整理的Nginx(PDF文档)
    TCP 面向字节流、延迟应答、异常情况
    LeetCode每日一题(488. Zuma Game)
    mysql 多个字段 like 同一个值怎么实现
    【校招VIP】前端算法考点之动态规划
    数学建模 -- 灰色预测模型
    技术宅星云的Mac系统使用经验分享
    Lua CallbackHell优化
    结构体内存对齐
    设计模式之【职责链模式】
  • 原文地址:https://blog.csdn.net/m0_73859807/article/details/127988043