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
结果:
扩展方式注入(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和计算机基础知识,保证让你看完有所收获,不信你打我
- 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。
欢迎关注公众号"Java冢狐"获取最新消息
原文转载:http://www.shaoqun.com/a/505908.html
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