您好,登录后才能下订单哦!
本篇内容主要讲解“spring中的依赖注入的简单介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring中的依赖注入的简单介绍”吧!
spring中的依赖注入
IOC作用:降低程序间的耦合(依赖关系)
依赖关系的管理:交给spring来维护(在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明)
依赖关系的维护:依赖注入
依赖注入:
能注入的数据:
基本类型和String
其他bean类型(在配置文件中或者注解配置过的bean)
复杂类型/集合类型
bean对象 注入的方式:
使用构造函数
使用set函数
使用注解
使用构造函数
构造函数往入: |
使用的标签:constructor- arg
标签出现的位置: bean标签的内部
标签中的属性
type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型
index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值。索引的位置是从e开始
name:用于指定给构造函数中指定名称的参数赋值常用的
=========以上三个用于指定给构造函数中哪个参效赋值
value: 用于提供基本类型和String类型的数据
ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的
xmlns:xsi="
xsi:schemaLocation="
package com.ay.service;
public interface AccountService {
public void saveAccount();
}
package com.ay.service.impl;
import com.ay.service.AccountService;
import java.util.Date;
public class AccountServiceImpl implements AccountService {
private String name;
private Integer age;
private Date birthday;
@Override
public void saveAccount() {
System.out.println("方法创建成功了");
}
public AccountServiceImpl(String name, Integer age, Date birthday) {
this.name = name;
this.age = age;
this.birthday = birthday;
}
@Override
public String toString() {
return "AccountServiceImpl{" +
"name='" + name + '\'' +
", age=" + age +
", birthday=" + birthday +
'}';
}
}
package com.ay.ui;
import com.ay.service.AccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Client {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
AccountService as = (AccountService)ac.getBean("accountService");
as.saveAccount();
System.out.println(as.toString());
}
}
总结:
优势:在获取bean对象时,注入数据是必须的操作,否则对象无法创建成功。
弊端:改变了bean对象的实例化方式,使我们在创建对象时,如果用不到这些数据,也必须提供。
使用set函数郑州引产手术费用多少钱 https://yiyuan.120ask.com/art/307587.html
涉及的标签: property
出现的位置: bean标签的内部
标签的属性
name:用于指定往入时所调用的set方法名称
value: 用于提供基本类型和String类型的数据
ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的bean对象
package com.ay.service;
public interface AccountService {
public void saveAccount();
}
package com.ay.service.impl;
import com.ay.service.AccountService;
import java.util.Date;
public class AccountServiceImpl implements AccountService {
private String name;
private Integer age;
private Date birthday;
@Override
public void saveAccount() {
System.out.println("方法创建成功了");
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "AccountServiceImpl{" +
"name='" + name + '\'' +
", age=" + age +
", birthday=" + birthday +
'}';
}
}
package com.ay.ui;
import com.ay.service.AccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Client {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
AccountService as = (AccountService)ac.getBean("accountService");
as.saveAccount();
System.out.println(as.toString());
}
}
xmlns:xsi=
xsi:schemaLocation=">
总结:
优势:创建对象时没有明确的限制,可以直接使用默认构造函数
弊端:如果有某个成员必须有值,则获取对象是有可能set方法没有执行。
到此,相信大家对“spring中的依赖注入的简单介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。