Lecture02-容器-简介

文章目录

    [toc]

    单词词性音标含义
    Injectionn./ɪnˈdʒekʃn/注入(编程中常与Dependency搭配为"Dependency Injection",即依赖注入,Spring通过IOC容器自动注入对象依赖,减少代码耦合)
    Applicationn./ˌæplɪˈkeɪʃn/应用(指应用程序,Spring中Application常出现在核心类名中,如SpringApplication,用于启动Spring应用)
    Contextn./ˈkɒntekst/上下文(Spring中的ApplicationContext是核心容器,管理Bean的生命周期、提供依赖注入和资源访问等功能)
    Configurableadj./kənˈfɪɡərəbl/可配置的(Spring中表示可通过配置文件或注解自定义的组件,如@Configurable注解允许非Spring管理的对象注入依赖)
    ClassPathn./klɑːs pɑːθ/类路径(Java中用于查找类文件的路径,Spring中ClassPathResource用于加载类路径下的资源文件,如classpath:application.properties)
    FileSystemn./ˈfaɪl ˌsɪstəm/文件系统(指操作系统的文件管理结构,Spring中FileSystemResource用于访问文件系统中的资源,如本地磁盘上的配置文件)

    Lecture02-容器-简介

    1、普通容器

    ①生活中的普通容器

    aaaaaaaaaaa

    普通容器只能用来存储,没有更多功能。


    ②程序中的普通容器

    • 数组
    • 集合:List
    • 集合:Set

    2、复杂容器

    image-20250725103939832

    员工入职公司,公司管理员工档案,管理员工从入职到离职的整个生命周期

    3、IoC思想

    image-20251206085747584

    IoC:Inversion of Control,翻译过来是反转控制

    这里具体是指“获取资源”方式的反转

    public class EmpServiceImpl implements EmpService {
        private EmpDao empDao = new EmpDaoImpl();
    }
    

    在这个例子中,EmpDao对象就是我们要使用的“资源”


    ①获取资源的传统方式

    编程式:自己写代码实现

    自己做饭:买菜、洗菜、择菜、改刀、炒菜,全过程参与,费时费力,必须清楚了解资源创建整个过程中的全部细节且熟练掌握。

    在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。


    ②反转控制方式获取资源

    声明式:仅声明自己需要什么,然后由框架负责提供给我们

    点外卖:下单、等、吃,省时省力,不必关心资源创建过程的所有细节。

    反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发的效率。这种行为也称为查找的被动形式。

    @Service
    public class EmpServiceImpl implements EmpService {
        @Autowired
        private EmpDao empDao;
    }
    
    end