Spring 实例化 bean 的方式
- Set注入
- 构造器注入
- 静态工厂注入
- 实例化工厂注入
案例实操
Set注入
xml配置(同时spring也提供了对于基本数据类型的set注入方式)
<?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="userDao" class="com.xxx.demo.UserDao"></bean>
<!-- setter注入 -->
<bean id="userService" class="com.xxx.demo.UserService">
<!--ref是对于外部bean对象引用,与被引用的bean对象的id保持一致-->
<property name="userDao" ref="userDao"></property>
</bean>
</beans>
UserDao.java
public class UserDao {
public String userLogin() {
return "我是UserDao中的userLogin()的方法";
}
}
UserService.java
public class UserService {
//一定要提供属性的setter方法
private UserDao userDao;
public void userlogin() {
String res=userDao.userLogin();
System.out.println(res);
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
App.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.C