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

这篇具有很好参考价值的文章主要介绍了开发经验分享之:import引入包和@Autowired注入类有什么区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

import引入包

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

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

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

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

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 方法

@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 框架中实现依赖注入的注解,用于自动将需要的依赖注入到目标类中,从而实现类之间的解耦和依赖关系的自动装配。文章来源地址https://www.toymoban.com/news/detail-619325.html

到了这里,关于开发经验分享之:import引入包和@Autowired注入类有什么区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot——@Autowired属性注入问题

    当我们在使用 @Autowired 属性注入时,会发现idea提示 Field injection is not recommended ,译为: 不推荐使用属性注入   要想了解Spring和idea之所以不推荐使用@Autowired属性注入,首先就要先了解Spring常用的注入方式:简单类型注入、集合类型注入, 域属性自动注入, 自动注入的类别, 空值注

    2024年02月06日
    浏览(45)
  • Scala作业(3):类/包和引入

    以下是一个示例的 Time 类的实现,包括只读属性 hours 和 minutes ,以及用于比较时间的方法 before : 在上面的代码中,我们定义了一个名为 Time 的类,它具有只读属性 hours 和 minutes ,它们分别用于存储小时和分钟。我们还实现了一个 before 方法,它接受另一个 Time 对象作为参数

    2024年02月13日
    浏览(30)
  • 【Spring】三大依赖注入(@Autowired,Setter,构造方法)

    目录 一、属性注入(@Autowired) 1.1 优点分析 1.2 缺点分析 1.2.1 无法实现final修饰的变量注入。 1.2.2 兼容性不好 1.2.3 (可能违背)设计原则问题 1.2.4 代码举例: 1.2.5 出现循环依赖该怎么办? 1.2.6 @Resource与@Autowired的区别 二、Setter注入 2.1 优点分析 2.2 缺点分析 2.2.1 不能注入不

    2024年02月01日
    浏览(38)
  • @Autowired 注入为null 的原因与解决方式

    我们经常会通过@Autowired注解将某个类注到另一个类中,但是会发现注不进去,报NULL。 可能的原因有一下几种: (1)该类没有托管给spring 管理 一般在类的上面添加@Component 就可以了 (2)你的这个类有被new出来的实例的,new 过的对象不会交给Spring容器管理 所以里面的 ser

    2024年02月11日
    浏览(33)
  • 实战经验分享:开发同城外卖跑腿小程序

    下文,小编将与大家一同探究同城外卖跑腿小程序的开发实战,包括但不限于技术选型、开发流程、用户体验等多个方面。 1.技术选型 在同城外卖跑腿小程序的开发中,技术选型是至关重要的一环。对于前端,选择了使用Vue.js框架,其灵活性和生态系统的支持使得开发过程更

    2024年02月03日
    浏览(47)
  • 使用Unity开发手机AR项目经验分享

           AR技术发展到现在也不新鲜了,开发AR的SDK也是五花八门,怎么选择是个问题。这篇文章提供了一套整体开发AR思路,还有后续兼容性问题的解决思路。         Unity开发手机AR项目主要是集成的ARCore和ARKit,ARCore面向Android手机而ARKit面向IOS,从Unity2019后Unity官方使用

    2024年02月11日
    浏览(50)
  • 面试经验分享 | 某康安全开发工程师

    DOM型xss和别的xss最大的区别就是它不经过服务器,仅仅是通过网页本身的JavaScript进行渲染触发的。 平常用的多的是MySQL数据库,像Oracle数据库也有了解,但是用的不多。 我的研究方向是自然语言处理,具体的领域是虚假信息检测。我的小论文中采用的数据集是twitter15和twit

    2024年04月15日
    浏览(56)
  • 了解Spring中的依赖注入:@Autowired vs. @Resource

    在Spring框架中,依赖注入是一项关键的特性,通过它,我们能够更灵活、更方便地管理和使用各种组件。在依赖注入的实现中, @Resource 和 @Autowired 是两个常用的注解,它们分别具有不同的特点和用途。在本篇博客中,我们将深入探讨这两个注解的功能、优缺点,并提供一些

    2024年02月02日
    浏览(53)
  • 我的ESP-01S开发历程与经验分享

    一、总体说明 本人是个外行,没事搞一下单片机纯属业余爱好而已。学习历程为51——Arduino——NodeMcu_ESP-8266——STM32。做过几样东西,倒是觉得很有趣,也便有了继续学习下去的动力。ESP系列是入门级和业余爱好者开发物联网的不二之选。ESP-01S小开发板对于做简单的物联网

    2023年04月27日
    浏览(42)
  • 数据可视化大屏——基于echarts的开发经验分享

    各位同事大家好!下面是我使用echarts中总结的一些个人经验,仅供参考。 echarts的能力、优劣等特点大家应该在技术选型阶段已经有所了解,这里主要分享使用、设计等经验。 echarts由无到有一共只需要四步: 引入echarts资源 :支持模块化项目使用npm下载引入,老项目使用s

    2024年02月01日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包