我有一些问题。关于Spring @Autowired和Spring的问题JDBC
- 在这种情况下
@Autowired
是不可取的? - 在哪种情况下,我们不得不比
Spring-Hibernate
更喜欢Spring-JDBC
? - 如果我们
autowire
所有对象会发生什么?
请帮我在这质疑
我有一些问题。关于Spring @Autowired和Spring的问题JDBC
@Autowired
是不可取的?Spring-Hibernate
更喜欢Spring-JDBC
?autowire
所有对象会发生什么?请帮我在这质疑
1.在这种情况下@Autowired是不是更好?
自动装配是关于简化依赖注入。起初看起来很容易,而且利润丰厚,但后来你会意识到它在大型现实项目中不可维护。
默认弹簧自动装配是by-Type
。我不喜欢它,当我有超过一个特定类别的实例时,我必须强制Spring解决注入by-Name
并且必须使用额外的@Qualifier
。在这种情况下,我更喜欢使用JAVAX @Resource
。
此外,有时您可能会遇到必须根据属性/参数创建和注入bean的情况。在这种情况下,@Autowired
可能无法正常工作,您可能需要选择基于XML的配置。
2.在哪种情况下,我们必须比Spring-Hibernate更喜欢Spring-JDBC?
在JDBC和Hibernate之间进行选择的选择完全取决于您的项目以及您认为如何适应Hibernate。这两种实现都非常快。这两者都有各自的优点和缺点。
使用Spring's JDBCTemplate
会简单一些,因为它只是本地JDBC本身的一个包装。这里唯一的事情就是你最终可能会写出数千行代码,一旦你的项目开始增长,这些代码真的很难维护。
使用Hibernate
将会产生一个更简洁,更简单的代码,这很容易维护,但是这里的开销可能是学习Hibernate并以某种方式思考以使其适合您的项目。
3.如果我们自动装载所有对象会发生什么?
这取决于您的项目需求。 @Autowire
仅用于注入依赖关系。有时候,我们遇到了任何特定类别的多个实例,并且在这种情况下,为了避免使用@Qualifier
和@Autowired
来消除不确定性,您可以选择使用@Resource
单个注释替换两个注释。
此外,有时您会发现通过基于XML的配置注入依赖bean,而不是使用@Autowired
更好。
如果您正在自动装配所有课程,没有任何伤害。正如我之前所说,完全取决于您的项目需求。
这是非常普遍的问题,你需要了解春季的基础
@Autowire是只能在春天的bean可以使用注解你想注入
如果你使用hibernate比你需要spring hibernate,如果你使用常规的jdbc查询,你将需要spring jdbc
和第一节一样,你只能在spring bean上使用autowire。没有什么会发生只是将是一个糟糕的设计:)
几乎所有可以在XML中完成的bean配置都可以在JavaConfig中更简单地完成。 – chrylis