1.0属性注入
新建一个people类
package com.java.test3;/** * @author nidegui * @create 2019-06-22 14:45 */public class People { private Integer id; private String name; private String age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "People{" + "id=" + id + ", name='" + name + '\'' + ", age='" + age + '\'' + '}'; }}
装配在bean里面
测试:
package com.java.test3;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * @author nidegui * @create 2019-06-22 14:47 */public class Test { public static void main(String[] args) { /*属性注入*/ ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); People people =(People) ac.getBean("people2"); System.out.println(people); }}
2.0构造函数注入
1.0通过类型注入
在实体中添加构造方法
public People(Integer id, String name, String age) { this.id = id; this.name = name; this.age = age; }}
bean.xml里面配置文件
3.0按照索引注入
3.0工厂方法注入
创建一个工厂
package com.java.test3;/** * @author nidegui * @create 2019-06-22 15:15 */public class Factory { /** * 定义一个非静态工厂 * @return */ public People createFactoty(){ People p=new People(); p.setId(1); p.setName("ni"); p.setAge("25"); return p; }}
注入bena.xml中
工厂模式的静态方法注入
public static People createFactoty2(){ People p=new People(); p.setId(1); p.setName("ni"); p.setAge("25"); return p; }