Spring炼气之路(炼气一层)

目录

一、IOC

[1.1 控制反转是什么?](#1.1 控制反转是什么?)

[1.2 什么是IOC容器?](#1.2 什么是IOC容器?)

[1.3 IOC容器的作用](#1.3 IOC容器的作用)

[1.4 IOC容器存放的是什么?](#1.4 IOC容器存放的是什么?)

二、DI

[2.1 依赖注入是什么?](#2.1 依赖注入是什么?)

[2.2 依赖注入的作用](#2.2 依赖注入的作用)

三、IOC案例实现

3.1下载Maven

[3.2 配置Maven中的settings.xml文件](#3.2 配置Maven中的settings.xml文件)

[3.2.1 配置本地库](#3.2.1 配置本地库)

[3.2.2 配置中央仓库](#3.2.2 配置中央仓库)

[3.2.3 配置JDK版本](#3.2.3 配置JDK版本)

[3.3 配置Maven的环境变量](#3.3 配置Maven的环境变量)

[3.3.1 打开环境变量](#3.3.1 打开环境变量)

[3.3.2 配置系统变量](#3.3.2 配置系统变量)

[3.3.3 配置path中的环境变量](#3.3.3 配置path中的环境变量)

[3.4 验证Maven安装和配置是否成功 ·](#3.4 验证Maven安装和配置是否成功 ·)

3.5创建maven项目

[3.6 添加Spring的依赖jar包](#3.6 添加Spring的依赖jar包)

[3.7 完成IOC容器中bean的配置](#3.7 完成IOC容器中bean的配置)

[3.8获取IOC容器 ,调用方法](#3.8获取IOC容器 ,调用方法)

四、DI案例实现

4.1配置bean的依赖关系


前言:初识Spring-CSDN博客

一、IOC

IOC(Inversion of Control)控制反转

1.1 控制反转是什么?

使用对象时,由主动new产生对象转换为由外部提供对象,在这个过程中,对象创建控制权由程序转移到外部

1.2 什么是IOC容器?

Spring创建了一个容器用来存放所创建的对象,这个容器就叫做IOC容器

1.3 IOC容器的作用

**对象管理:**IOC容器负责管理组件的生命周期,包括创建、配置和销毁等过程

**控制反转:**IOC容器通过将对象的创建和依赖关系的管理责任交给第三方容器,实现了控制反转的思想,降低了程序的耦合度,提高了程序的扩展性

1.4 IOC容器存放的是什么?

被创建和管理的对象在IOC容器中统称为Bean,IOC容器存放的就是一个个Bean对象

二、DI

DI(Dependency Injection)依赖注入

2.1 依赖注入是什么?

在容器中建立Bean与Bean之间的依赖关系的整个过程,被称为依赖注入

2.2 依赖注入的作用

**充分解耦:**依赖注入是IOC的一种具体实现方式,它通过配置文件将对象依赖的属性注入到对象中,从而解耦对象之间的依赖关系。

三、IOC案例实现

3.1下载Maven

网址:Maven -- Download Apache Maven

**注意:**IDEA版本和Maven版本可能出现不兼容问题,下载兼容版本即可(可以参照下表)

IDEA Maven
IDEA 2018 兼容Maven 3.6.1及之前所有版本
IDEA 2020 兼容Maven 3.6.3及之前所有版本
IDEA 2021 兼容Maven 3.8.1及之前的所有版本
IDEA 2022 兼容Maven 3.8.1及之前的所有版本

下载其他版本方法

3.2 配置Maven中的settings.xml文件

3.2.1 配置本地库

**原因:**Maven初始化后,在C盘会出现.m2文件,就是存放下载下来的jar包的。后面下载的文件过多,会导致C盘空间不足。建议在其他盘符新建一个文件夹

代码:

html 复制代码
  <localRepository>D:\Maven\repository</localRepository>

3.2.2 配置中央仓库

原因: 因为我们使用的jar包不存在时,会从中央仓库来下载。但是因为是在外网,所以下载速度可能很慢。因此我们要配置镜像源 ,使用阿里云镜像源

setting.xml文件位置:

代码:直接复制即可

html 复制代码
  <mirror>
	<id>alimaven</id>
	<mirrorOf>central</mirrorOf>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

3.2.3 配置JDK版本

**原因:**以后创建项目时,可以直接默认你配置的JDK

代码:

html 复制代码
<profile>
	<id>jdk1.8</id>
	<activation>
		<activeByDefault>true</activeByDefault>
		<jdk>1.8</jdk>
	</activation>
	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
	</properties>
</profile>

3.3 配置Maven的环境变量

3.3.1 打开环境变量

3.3.2 配置系统变量

3.3.3 配置path中的环境变量

3.4 验证Maven安装和配置是否成功 ·

方式: win+R 输入 cmd 回车 在命令提示符中输出 mvn

查看Maven版本 : win+R 输入 cmd 回车 在命令提示符中输出 mvn -version

3.5创建maven项目

新建项目,选择Maven,一步步操作即可。

项目结构:

3.6 添加Spring的依赖jar包

pom.xml输入:

html 复制代码
   <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

3.7 完成IOC容器中bean的配置

1.新建配置文件 文件名:applicationContext.xml

2.代码:

html 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--  1.  导入Spring的坐标spring-context-->

    <!-- 2.   配置bean-->
    <bean id="bookDao" class = "com.zhang.dao.impl.BookDaoImpl"/>
    <bean id="bookService" class="com.zhang.service.impl.BookServiceImpl"/>

</beans>

3.8获取IOC容器 ,调用方法

java 复制代码
  public static void main(String[] args) {
        //获取IOC容器 applicationContext.xml为配置bean
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取bean id = "bookDao"
        BookDao bookDao = (BookDao) ac.getBean("bookDao");

        bookDao.sava();//book dao sava

        //获取bean id= "bookService"
        BookService bookService = (BookService) ac.getBean("bookService");

        bookService.sava();//book service sava
                          // book dao sava
    }

四、DI案例实现

4.1配置bean的依赖关系

html 复制代码
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
    <!--  1.  导入Spring的坐标spring-context-->

    <!-- 2.   配置bean-->
    <bean id="bookDao" class = "com.zhang.dao.impl.BookDaoImpl"/>
    <bean id="bookService" class="com.zhang.service.impl.BookServiceImpl">
<!--            配置Dao和Service的关系-->
<!--        name表示具体配置的属性-->
<!--        ref 是参照那个属性-->
        <property name="bookDao" ref="bookDao"/>
    </bean>
</beans>
相关推荐
ok!ko1 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589361 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰2 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没3 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
编程、小哥哥3 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程4 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇4 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码4 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
郭二哈5 小时前
C++——模板进阶、继承
java·服务器·c++
A尘埃5 小时前
SpringBoot的数据访问
java·spring boot·后端