2021-01-05

(四)Spring从入门到入土——依赖注入(DI)

Dependency Injection

概念

  • 依赖注入(DI)
  • 依赖:指Bean对象的创建依赖于容器。Bean对象的依赖资源
  • 注入:指Bean对象

注入方式

一共有三种:分别是构造器注入;Set注入;P命名和C命名注入

构造器注入

在Spring从入门到入土——快速上手Spring中Beans.

<?

Set注入(无参构造器)

​ 要求被注入的属性必须有set方法,set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is

测试pojo类:

Address.java

public class Address { private String Address; public String getAddress() {  return Address; } public void setAddress(String address) {  Address = address; } @Override public String toString() {  return "Address{" +    "Address='" + Address + '\'' +    '}'; }}

Student.java

public class Student { private String name; private Address address; private String[] books; private List<String> hobbies; private Map<String,String> card; private Set<String> games; private String wife; private Properties info; public String getName() {  return name; } public void setName(String name) {  this.name = name; } public Address getAddress() {  return address; } public void setAddress(Address address) {  this.address = address; } public String[] getBooks() {  return books; } public void setBooks(String[] books) {  this.books = books; } public List<String> getHobbies() {  return hobbies; } public void setHobbies(List<String> hobbies) {  this.hobbies = hobbies; } public Map<String, String> getCard() {  return card; } public void setCard(Map<String, String> card) {  this.card = card; } public Set<String> getGames() {  return games; } public void setGames(Set<String> games) {  this.games = games; } public String getWife() {  return wife; } public void setWife(String wife) {  this.wife = wife; } public Properties getInfo() {  return info; } public void setInfo(Properties info) {  this.info = info; } @Override public String toString() {  return "Student{" +    "name='" + name + '\'' +    ", address=" + address.toString() +    ", books=" + Arrays.toString(books) +    ", hobbies=" + hobbies +    ", card=" + card +    ", games=" + games +    ", wife='" + wife + '\'' +    ", info=" + info +    '}'; }}
Bean注入:

beans.

<?

测试:

public class MyTest { public static void main(String[] args) {  ApplicationContext context = new ClassPath
结果:

image

扩展方式注入(p、c命名注入)

user.java:【注意,这里没有有参构造器】

public class User { private String name; private int age; public String getName() {  return name; } public void setName(String name) {  this.name = name; } public int getAge() {  return age; } public void setAge(int age) {  this.age = age; } @Override public String toString() {  return "User{" +    "name='" + name + '\'' +    ", age=" + age +    '}'; }}
p命名空间注入:
  • 实体类中必须有set方法;
  • 实体类中必须有无参构造器(默认存在);
  • 必须导入p命名空间注入方式依赖。
 导入约束 : 
c命名空间注入

​ 就是构造器注入、需要在头文件下加入约束文件

 导入约束 : 

此时会发现出问题:因为没有写有参构造函数

C命名空间注入就是所谓的构造器注入

最后

  • 如果觉得看完有收获,希望能给我点个赞,这将会是我更新的最大动力,感谢各位的支持
  • 欢迎各位关注我的公众号【java冢狐】,专注于java和计算机基础知识,保证让你看完有所收获,不信你打我
  • 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。

image

欢迎关注公众号"Java冢狐"获取最新消息









原文转载:http://www.shaoqun.com/a/505908.html

跨境电商:https://www.ikjzd.com/

tchibo:https://www.ikjzd.com/w/1928

sonar:https://www.ikjzd.com/w/215


DependencyInjection概念依赖注入(DI)依赖:指Bean对象的创建依赖于容器。Bean对象的依赖资源注入:指Bean对象注入方式一共有三种:分别是构造器注入;Set注入;P命名和C命名注入构造器注入在Spring从入门到入土——快速上手Spring中Beans.<?Set注入(无参构造器)​ 要求被注入的属性必须有set方法,set方法的方法名由set+属性首字母大写,如果
外贸圈:外贸圈
麦言:麦言
深圳南澳哪露营比较好?:深圳南澳哪露营比较好?
佛山郁金香公园可以在里边拍婚纱照吗?有专门拍照的地方吗?:佛山郁金香公园可以在里边拍婚纱照吗?有专门拍照的地方吗?
5.1惠州好玩的地方?罗浮山响水河漂流5.1活动?:5.1惠州好玩的地方?罗浮山响水河漂流5.1活动?

No comments:

Post a Comment