SSM-Spring(IoC配置和DI)

Spring

今天给大家介绍以下几个内容

  1. Spring简介
  2. IoC简介
  3. IoC在Spring中的简单使用
  4. IoC配置
  5. DI(依赖注入)
Spring简介
  • 介绍Spring之前先说说什么是框架:源自于建筑学,隶属土木工程,后发展到软件工程领域。
    软件工程框架:就是经过验证的,具有一定功能的,半成品软件
    在这里插入图片描述
    在这里插入图片描述
  • 什么是Spring:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

IoC简介

先了解一个在程序代码中比较重要的一个概念:
在这里插入图片描述

  • IoC(Inversion Of Control)控制反转,Spring反向控制应用程序所需要使用的外部资源
  • Spring控制的资源全部放置在Spring容器中,该容器称为IoC容器
    在这里插入图片描述
IoC在Spring中的简单使用
  1. 导入spring坐标(5.1.9.release)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
  1. 编写业务层与表现层(模拟)接口与实现类
public interface UserService {
//业务方法
void save();
}
public class UserServiceImpl implements UserService{
//业务方法实现
public void save(){
System.out.println("user service running...");
}
}
  1. 建立spring配置文件
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 1.创建spring控制的资源-->
<bean id="userService" class="com.itheima.service.impl.UserServiceImpl"/>
</beans>
  1. 配置所需资源(Service)为spring控制的资源
<bean id="userService" class="com.itheima.service.impl.UserServiceImpl"/>
  1. 表现层(App)通过spring获取资源(Service实例)
public static void main(String[] args) {
//2.加载配置文件
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//3.获取资源
UserService userService = (UserService) ctx.getBean("userService");
userService.save();
}
IoC配置
  • Bean
    在这里插入图片描述
  • bean属性scope
    在这里插入图片描述
  • bean生命周期
    在这里插入图片描述
DI(依赖注入)

DI(Dependency Injection)依赖注入,应用程序运行依赖的资源由Spring为其提供,资源进入应用
程序的方式称为注入

在这里插入图片描述

在这里插入图片描述

依赖注入的两种方式

  1. set注入
    在这里插入图片描述

  2. 构造器注入
    在这里插入图片描述

  3. 集合类型数据注入——list

<property name="myList">
<list>
<value>ys</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.itheima.service.ApplyService"/>
</list>
</property>
  1. 集合类型数据注入——props
<property name="myProps">
<props>
<prop key="username">root</prop>
<prop key="password">root</prop>
</props>
</property>
  1. 集合类型数据注入——array
<property name="myArray">
<array>
<value>ys</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.ys.service.ApplyService"/>
</array>
</property>
  1. 集合类型数据注入——set
<property name="mySet">
<set>
<value>ys</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.ys.service.ApplyService"/>
</set>
</property>
  1. 集合类型数据注入——map
<property name="myMap">
<map>
<entry key="name" value-ref="ys"/>
<entry key="fame" value-ref="666"/>
<entry key="userService">
<ref bean="userService"></ref>
</entry>
<entry key="applyService">
<bean class="applyService"/>
</entry>
</map>
</property>
  • 使用p命名空间简化配置

在这里插入图片描述

  • SpEL
    在这里插入图片描述
    在这里插入图片描述
  • properties文件
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以上就是今天的全部内容了,如果有不恰当的地方,欢迎指正。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值