在Spring中,我们可以通过构造函数的方式将需要的依赖注入到Bean中。下面是一个例子:
- @Component
- public class UserService {
- private final UserDao userDao;
-
- @Autowired
- public UserService(UserDao userDao) {
- this.userDao = userDao;
- }
- //...
- }
这种方式的主要优点是:
但是,这种方式也有一些缺点:
与构造函数注入方式相比,setter方法注入方式更加灵活。下面是一个例子:
- @Component
- public class UserService {
- private UserDao userDao;
-
- @Autowired
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
- //...
- }
这种方式的主要优点是:
但是,这种方式也有一些缺点:
除了上述两种方式,Spring还支持直接通过@Autowired注解来实例化Bean。下面是一个例子:
- @Component
- public class UserService {
- @Autowired UserDao userDao;
- //...
- }
这种方式的主要优点是:
但是,这种方式也有一些缺点: