品易云推流 关闭
文章详情页
文章 > 头条 > java中spring ioc有几种注入?

java中spring ioc有几种注入?

java spring ioc

头像

小妮浅浅

2021-03-23 09:47:233381浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1、概念

spring ioc指的是控制反转,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。交由Spring容器统一进行管理,从而实现松耦合。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在对象内部直接控制。

2、Setter方法注入

Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

package com.jpeony.spring.setter;
 
import com.jpeony.spring.common.HelloServiceImpl;public class HelloWord {
 
private HelloService helloService;
 
  
 
    // setter方式注入Bean
 
    public void setHelloService(HelloService helloService) {
 
        this.helloService = helloService;
 
    }
 
  
 
    @Override
 
    public void selfIntroduction() {
 
        // 向大家打招呼
 
        helloService.sayHello("大家好!");
 
    }
 
  
 
}

2、构造方法注入

构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。

package com.jpeony.spring.setter;
 
import com.jpeony.spring.common.HelloServiceImpl;
 
 
 
public class HelloWord {
 
    private HelloService helloService;
 
  
 
    // 构造方法注入
 
    public HelloWord (HelloService helloService) {
 
        this.helloService = helloService;
 
    }
 
  
 
}

3、P命名空间注入

package com.jpeony.spring.setter;
 
import com.jpeony.spring.common.HelloServiceImpl;
 
 
 
public class HelloWord {
 
    //名字
 
    private String name;
 
    //年龄
 
    private String age;
 
    //方法类
 
    private HelloService helloService;
 
  
 
    public void setName (String name) {
 
        this.name = name;
 
    }
 
     
 
    public void setAge (String age) {
 
        this.age = age;
 
    }
 
     
 
    public void setHelloService(HelloService helloService) {
 
        this.helloService = helloService;
 
    }
 
  
 
    @Override
 
    public void selfIntroduction() {
 
        // 向大家打招呼
 
        helloService.sayHello("我叫"+ name + ",今年" + age + "岁,大家好!");
 
    }
 
  
 
}

以上就是java中spring ioc的三种注入方式,大家在对这种容器有所了解后,可以分别尝试注入的方法,以便更好地理解spring ioc的使用。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图