Spring 基础
1.1 Bean实例化三种方式
- 无参构造方法实例化
- 工厂静态方法实例化
- 工厂实例方法实例化
public class DynamicFactory {
public UserDao getUserDao() {
return new UserDaoImpl();
}
}
public class StaticFactory {
public static UserDao getUserDao() {
return new UserDaoImpl();
}
}
1.2 Spring注入方式
1.2.1 构造方法注入
public class UserServiceImpl implements UserService {
private final UserDao userDao;
public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void save() {
userDao.printTest();
}
}
1.2.2 Set方法注入
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void save() {
userDao.printTest();
}
}
1.2.3 注入的数据类型
1.2.3.1 普通数据类型
public class UserDaoImpl implements UserDao {
private String userName;
private int age;
@Override
public void printTest() {
System.out.println(userName + "===" + age);
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setAge(int age) {
this.age = age;
}
}
1.2.3.2 其他类型注入
aa
bb
cc
中华人民共和国333