作者:云海雨岛 | 来源:互联网 | 2022-12-05 14:43
我对Spring Boot非常陌生,我正在尝试掌握它的概念。现在我遇到了@Autowired。我对此非常了解。
就像,当您编写@Autowired时,事情发生在两次通过中,而在第二次通过中,spring注入了bean。
现在,我有这个例子。
Class Abc {
@Autowired
private Xyz xyz;
PSVM(String...z) {
xyz.hello();
}
}
导入基本上将代码导入文件中。
所以,
Import com.tilak.Xyz;
Class Abc {
private Xyz xyz;
PSVM(String...z) {
xyz = new Xyz();
xyz.hello();
}
}
为什么我不应该选择后者呢?
做第一个有什么好处吗?我应该在哪里使用第一个?
1> 小智..:
它基本上是关于对象创建的。当您自动装配某些东西时,该特定bean由spring上下文管理,并且只有一个特定类的实例将由spring上下文构造,并且当您将Autowire用于该类类型的Objects时,将提供该特定实例。但是,当您将某些东西导入到您的类中时,这并不意味着您拥有该特定类的实例。您必须自行初始化。而且,如果您要将其视为单例对象,则基本上将为其编写整个代码。
而且它们之间还有一些基本的区别,例如如果您要访问一个类中的静态变量,则不需要该类的实例。(您可以通过类引用访问它们)在那种情况下,您不需要自动装配,但需要Import语句。
但是另一方面,如果您对体验弹簧的力量感兴趣,例如Autowire Configurations,并且可以验证它们以及spring提供的所有出色功能,则需要根据需要使类成为组件和Autowire。