• Spring IOC


    一:spring简介

    spring是一套企业级的开发框架。有良好的生态,可以应对大多数的开发环境

    spring模块:

    注:web不是前段,而是view层

    spring体系结构

    二:spring环境的搭建

    1、写坐标:

    在pom.xml文件中写:

    1. <dependencies>
    2. <!--spring-->
    3. <dependency>
    4. <groupId>org.springframework</groupId>
    5. <artifactId>spring-context</artifactId>
    6. <version>5.3.27</version>
    7. </dependency>
    8. </dependencies>

    spring有二十多种模块,导入spring-context后会加载6种模块,足够平时的开发

    2、配置文件

    加载spring-context后在资源文件夹下创建Spring Config文件,命名为beans.xml

    1. <!--注入dao-->
    2. <bean id="daoImp" class="com.apesource.dao.UserDaoImp"></bean>
    3. <!--注入service-->
    4. <bean id="serviceImp" class="com.apesource.service.UserServiceImp">
    5. <property name="dao" ref="daoImp"></property>
    6. </bean>
    7. <!--注入controller-->
    8. <bean id="controllerImp" class="com.apesource.contorller.UserControllerImp">
    9. <property name="service" ref="serviceImp"></property>
    10. </bean>

    三:IOC

    解释:IOC是指将创建对象的控制权转移给Spring框架进行管理。 由Spring框架根据配置文件或注解等方式,创建bean对象并管理各个bean对象之间的依赖关系。 使对象之间形成松散耦合的关系,实现解耦;

    IOC的范围

    spring IOC:

    控制反转

    控制是指本身创建对象是由用户来进行创建的,即new对象,但是我们通过IOC的方式将对象创建的事情交给IOC容器,把需要创建的对方放进IOC容器创建,我们直接通过BeanFactory进行获取。用反射的方式进行创建,降低代码的耦合程度,使代码即使分开也可以执行。

    反转就是把创建对象这个权利交给外部容器(IOC.....)

    关键字:IOC名词解释,作用是解耦,使用IOC容器管理项目组件之间的耦合关系

    IOC( Inversion of Control,中文释义:控制反转 ) 是Spring框架的核心思想之一, 主要用于解耦。

    四:Spring IOC的使用方法:

    1、创建类

    2、把需要进行解耦的类放进springIOC容器

    id是这个类的唯一标识,class是它的地址路径

    1. <beans>
    2. <bean id="serviceImp" class="com.apesource.service.UserServiceImp">
    3. <property name="dao" ref="daoImp"></property>
    4. </bean>
    5. </beans>

    3、通过加载主配置文件,获取spring核心对象

    1. //1.加载spring主配置文件,获取spring核心对象
    2. ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
    3. //2.获取javaBean
    4. IUserController controller = (IUserController) applicationContext.getBean("controllerImp");
    5. controller.save();

  • 相关阅读:
    数字孪生能源系统,打造低碳时代“透视”眼
    【FreeRTOS】15 空闲任务(实例:CPU利用率统计)
    Linux 基础 之 用户管理
    Datasets与IterableDatasets
    NPDP如何申请退考?你学会了吗?
    leetcode 挑七
    外贸企业都要知道的8个外贸网站推广平台!
    docker搭建C语言开发环境
    [论文阅读] 颜色迁移-Linear Monge-Kantorovitch(MKL)
    ReentrantLock工作原理
  • 原文地址:https://blog.csdn.net/qq_64669006/article/details/140447120