107、【JavaEE】【Spring】Spring IoC

2021-10-23  本文已影响0人  yscyber

1、概述

控制:在 Java 中指的是对象的控制权限(创建、销毁等)

反转:指的是对象控制权由原来由开发者在类中手动控制反转到 Spring 容器(IoC 容器)控制

Spring-3

2、Spring IoC 简单举例

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.8</version>
</dependency>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
public interface UserRepo {

    Integer deleteUserById(Integer id);
    
}
import com.yscyber.spring.one.repo.UserRepo;

public class UserRepoImpl implements UserRepo {

    @Override
    public Integer deleteUserById(Integer id) {
        System.out.println("删除用户······");
        return 1;
    }

}
<?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">
    
</beans>
<?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">

    <bean id="userRepo" class="com.yscyber.spring.one.repo.impl.UserRepoImpl"/>

</beans>
    @Test
    public void test1() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

        UserRepo userRepo = (UserRepo) applicationContext.getBean("userRepo");

        userRepo.deleteUserById(1);
    }

3、Spring 一些比较重要的 API

Spring-4 Spring-5 Spring-6

4、Spring 核心配置文件

基于反射机制创建出类的对象(实例),默认情况下“借助”类的“无参构造”

Spring-7 Spring-8 Spring-9 Spring-10

5、Spring 容器实例化对象的方式

5.1、无参构造

Spring-11

5.2、工厂 静态方法

Spring-12

5.3、工厂 普通方法

Spring-13

6、依赖注入

6.1、依赖注入的方式

Spring-14 Spring-15 Spring-16

6.2、不同数据类型的依赖注入

Spring-17 Spring-15 Spring-18 Spring-19 Spring-20
上一篇 下一篇

猜你喜欢

热点阅读