1. Prepare to share files first
Call method Client Side Client.java:
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Client { public static void main(String[] args) { //创建容器 ClassPathXmlApplicationContext cac = new ClassPathXmlApplicationContext("service.xml"); //获取bean对象 CustomerServiceImpl cs = (CustomerServiceImpl) cac.getBean("CustomerServiceImpl"); //调用方法 cs.saveCustomer(); }}
Interface file Customerservice.java:
public interface CustomerService { void saveCustomer();}
2. Constructor Mode injection:
Spring configuration file, Service.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="CustomerServiceImpl" class="CustomerServiceImpl"> <constructor-arg name="name" value="zhangsan"></constructor-arg> <constructor-arg name="age" value="3"></constructor-arg> </bean></beans>
Inject Bean class file: Customerserviceimpl.java
public class CustomerServiceImpl implements CustomerService { private String name ; private Integer age; public CustomerServiceImpl(String name, Integer age) { this.name = name; this.age = age; } @Override public void saveCustomer() { System.out.println("CustomerServiceImpl-saveCustomer-" + name + "-" + age); }}
3. Set Method Injection
Spring configuration file, Service.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="CustomerServiceImpl" class="CustomerServiceImpl"> <property name="name" value="李四"></property> <property name="age" value="10"></property></bean></beans>
Inject Bean class file: Customerserviceimpl.java:
public class CustomerServiceImpl implements CustomerService { private String name ; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public void saveCustomer() { System.out.println("CustomerServiceImpl-saveCustomer-" + name + "-" + age); }}
java+spring+bean+ Injection method