BOT*_*Jr. 1 java spring spring-boot
我对Spring Boot非常陌生,我正在尝试掌握它的概念。现在我遇到了@Autowired。我对此非常了解。
就像,当您编写@Autowired时,事情发生在两次通过中,而在第二次通过中,spring注入了bean。
现在,我有这个例子。
Class Abc {
@Autowired
private Xyz xyz;
PSVM(String...z) {
xyz.hello();
}
}
Run Code Online (Sandbox Code Playgroud)
导入基本上将代码导入文件中。
所以,
Import com.tilak.Xyz;
Class Abc {
private Xyz xyz;
PSVM(String...z) {
xyz = new Xyz();
xyz.hello();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我不应该选择后者呢?
做第一个有什么好处吗?我应该在哪里使用第一个?
我相信你混淆了 Spring 和 Java 语言。
Autowire与“代码注入”有关。(就像您描述的那样。)并且是 Spring 框架的一部分。
但是,import(带有小写的 i)是 Java 语言的一部分。就像你说的,让其他代码可以在你添加它的类中使用。import无论您是否使用 Spring 框架,都将使用。
这两个语句的目的完全不同,并且与其他语句一起使用。
例如。您正在自动装配的类也将被导入(如果它在不同的 Java 包中)。
但话虽如此,@ImportSpring 框架中还有一个注解用于导入 Spring Configuration 类。我猜这是混淆的起源。
我强烈建议您完成 Java 课程的快速介绍。这将使您学习 Spring 更加愉快:)
小智 5
它基本上是关于对象创建的。当您自动装配某些东西时,该特定bean由spring上下文管理,并且只有一个特定类的实例将由spring上下文构造,并且当您将Autowire用于该类类型的Objects时,将提供该特定实例。但是,当您将某些东西导入到您的类中时,这并不意味着您拥有该特定类的实例。您必须自行初始化。而且,如果您要将其视为单例对象,则基本上将为其编写整个代码。
而且它们之间还有一些基本的区别,例如如果您要访问一个类中的静态变量,则不需要该类的实例。(您可以通过类引用访问它们)在那种情况下,您不需要自动装配,但需要Import语句。
但是另一方面,如果您对体验弹簧的力量感兴趣,例如Autowire Configurations,并且可以验证它们以及spring提供的所有出色功能,则需要根据需要使类成为组件和Autowire。
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |