java中spring ioc有几种注入?
小妮浅浅
2021-03-23 09:47:233840浏览 · 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的使用。
关注公众号,随时随地在线学习