开发经验分享之:import引入包和@Autowired注入类有什么区别

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。

import 和 @Autowired 想必大家在 Java 开发中使用频率最多的关键字之一了把,这篇博客将解释这两个概念的区别和作用,帮助你更好地理解它们在Java开发中的应用。

import引入包

在 Java 中,import 关键字用于引入其他包中的类、接口或静态成员,以便在当前文件中可以直接使用这些引入的类或成员而无需写完整的包名。这样做的目的是为了简化代码的书写,提供一种更方便的方式来使用其他包中的内容。

如果不使用 import,则是这样:

java 复制代码
public class Demo{
    public static void main(String[] args) {
        java.util.List<String> list = new java.util.ArrayList<>();
        // 使用完整的包名来访问List和ArrayList
        // ...
    }
}

如果使用 import 引入包,代码将变得更加简洁:

java 复制代码
import java.util.List;
import java.util.ArrayList;

public class Demo{
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        // 直接使用List和ArrayList,无需写完整的包名
        // ...
    }
}

Spring中的@Autowired注入类

@Autowired 是 Spring 框架中的注解,用于实现依赖注入(Dependency Injection)。它的作用是自动装配 (Spring容器中的) Bean 对象,将需要的依赖注入到目标类中。在 Spring 中,Bean 是由容器管理的对象,可以通过 @Autowired 注解来自动将这些 Bean 注入到目标类中,从而实现类之间的解耦和依赖关系的自动装配。

假设我们有一个 Spring 的 Service 类 demoService,它依赖于另一个 UserUtils 类的 checkId(),我们可以使用 @Autowired 注解将 userUtils 实例注入到 demoService 中:这样我们就可以使用这个工具类的 checkId 方法

java 复制代码
@Service
public class demoService{
	@Autowired
    private UserUtils userUtils ;
	
	// 业务逻辑
    public void demo(User user) {
    	// user 对象不为 null 的时候
        userUtils.checkId(user.getId);
        // 其他业务逻辑...
    }  
}

总结

import 引入包和 @Autowired 注入类是 Java 开发中两个截然不同的概念。import 用于简化代码中对其他包的类或成员的访问,提供了更方便的写法,但不会自动创建实例。而 @Autowired 是 Spring 框架中实现依赖注入的注解,用于自动将需要的依赖注入到目标类中,从而实现类之间的解耦和依赖关系的自动装配。

相关推荐
zy happy40 分钟前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
德思特1 小时前
德思特与Amarisoft达成战略合作,为4G/5G终端及无线网络测试提供高性价比新方案
经验分享
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列
meng半颗糖1 小时前
3.Java流程控制语句
java·开发语言·intellij-idea
2501_942623341 小时前
虹科动态 | 2026年6月精彩回顾
经验分享
大模型码小白1 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
用户6169182299931 小时前
记录一次死锁检测
java
jvmind_dev1 小时前
1c1g 容器莫名 OOM Killed?排查 Metaspace 持续增长与脚本引擎的坑
java·后端
虹科数字化与AR1 小时前
农业机械AR质检是什么?安宝特拓影能发现哪些装配和结构问题?
经验分享
yuannl101 小时前
图的最短路径Dijkstra
数据结构