SSM-Spring-1(IoC配置和DI)
程序员文章站
2022-05-19 11:17:54
Spring今天给大家介绍以下几个内容Spring简介IoC简介IoC在Spring中的简单使用IoC配置DI(依赖注入)Spring简介介绍Spring之前先说说什么是框架:源自于建筑学,隶属土木工程,后发展到软件工程领域。软件工程框架:就是经过验证的,具有一定功能的,半成品软件什么是Spring:IoC简介先了解一个在程序代码中比较重要的一个概念:IoC(Inversion Of Control)控制反转,Spring反向控制应用程序所需要使用的外部资源...
Spring
今天给大家介绍以下几个内容
- Spring简介
- IoC简介
- IoC在Spring中的简单使用
- IoC配置
- DI(依赖注入)
Spring简介
- 介绍Spring之前先说说什么是框架:源自于建筑学,隶属土木工程,后发展到软件工程领域。
软件工程框架:就是经过验证的,具有一定功能的,半成品软件
- 什么是Spring:
IoC简介
先了解一个在程序代码中比较重要的一个概念:
- IoC(Inversion Of Control)控制反转,Spring反向控制应用程序所需要使用的外部资源
- Spring控制的资源全部放置在Spring容器中,该容器称为IoC容器
IoC在Spring中的简单使用
- 导入spring坐标(5.1.9.release)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
- 编写业务层与表现层(模拟)接口与实现类
public interface UserService {
//业务方法
void save();
}
public class UserServiceImpl implements UserService{
//业务方法实现
public void save(){
System.out.println("user service running...");
}
}
- 建立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>
- 配置所需资源(Service)为spring控制的资源
<bean id="userService" class="com.itheima.service.impl.UserServiceImpl"/>
- 表现层(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为其提供,资源进入应用
程序的方式称为注入
依赖注入的两种方式
-
set注入
-
构造器注入
-
集合类型数据注入——list
<property name="myList">
<list>
<value>itheima</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.itheima.service.ApplyService"/>
</list>
</property>
- 集合类型数据注入——props
<property name="myProps">
<props>
<prop key="username">root</prop>
<prop key="password">root</prop>
</props>
</property>
- 集合类型数据注入——array
<property name="myArray">
<array>
<value>itheima</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.itheima.service.ApplyService"/>
</array>
</property>
- 集合类型数据注入——set
<property name="mySet">
<set>
<value>itheima</value>
<value>666</value>
<ref bean="userService"/>
<bean class="com.itheima.service.ApplyService"/>
</set>
</property>
- 集合类型数据注入——map
<property name="myMap">
<map>
<entry key="name" value-ref="itheima"/>
<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文件
以上就是今天的全部内容了,如果有不恰当的地方,欢迎指正。
本文地址:https://blog.csdn.net/YINJOER/article/details/107369101
上一篇: 金枪鱼产地在哪?金龙鱼价格的行情如何?
下一篇: 鱼腥草怀孕可以喝吗,对胎儿有影响吗