前言
本篇主要介绍了spring实例化的三种方式:默认构造、静态工厂、实例工厂。
一、默认构造
这种方式其实在入门案例中已经看到了,是spring中很常见的一种实例化方式,也很简单。在xml中配置如下:
<bean id="xxx" class="xxx.xxx" />
这样的配置方式就是默认构造了。这里需要注意的一点是,使用这种方式实例化一定要有默认构造,没有默认构造的话会报错。
(如果创建一个类不写构造,会默认继承父类的无参构造,这样是不会有问题的;如果自己定义了一个有参构造但是没有给一个无参构造,直接用这种方式会报错。)
【这里稍微看一下如果定义了有参,但没有定义无参要怎么样做】
写了一个简单的UserServiceImpl的实现类,如下:
public class UserServiceImpl implements UserService {
public UserServiceImpl(int i){
System.out.println(i);
}
@Override
public void addUser() {
System.out.println("inject_factory add user"