java @Bean和@Autowired有什么区别

区别是:@Bean修饰的方法表示初始化一个对象并交由Spring IOC去管理,@Bean 只能和@Component @Repository @Controller @Service @Configration 配合使用。@Autowired 可修饰变量和方法,用于完成自动装配(将需要的外部资源注入),自动装配的前提要先有才能装配,直接引用资源就行。

java @Bean和@Autowired有什么区别-Worktile社区

@Bean

@Bean修饰的方法表示初始化一个对象并交由Spring IOC去管理,@Bean 只能和@Component @Repository @Controller @Service @Configration 配合使用。

JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,较好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

@Autowired

@Autowired 可修饰变量和方法,用于完成自动装配(将需要的外部资源注入),自动装配的前提要先有才能装配,直接引用资源就行。

@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。

这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用;

前者,Spring会直接将UserDao类型的少数一个bean赋值给userDao这个成员变量;后者,Spring会调用setUserDao方法来将UserDao类型的少数一个bean装配到userDao这个属性。

Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

延伸阅读:

JavaBean需求

JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法:

1、在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。

2、在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。

3、为了JavaBean的属性值和状态可以保存到磁盘上。

文章标题:java @Bean和@Autowired有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38061

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编站长
上一篇 2023年2月13日 下午11:01
下一篇 2023年2月13日 下午11:04

相关推荐

  • 看板管理的原则是什么

    看板管理的原则是:1.后道工序的领取原则;2.前道工序的生产原则;3.不良品不送往后工序;4.均匀领取零部件原则;5.看板使用量减少原则;6.依赖看板进行作业原则。看板管理是一种生产的微调手段,它能够使各生产工序稳定化和合理化。 1.后道工序的领取原则 后道工序只在必要的时刻,才从前道工序领取必要数…

    2022年11月24日
    48700
  • OA、CRM、ERP之间的区别是什么

    主要区别联系在于:1、定义;2、功能和应用范围;3、目标客户。在现代企业信息化管理中,OA、CRM和ERP都扮演着至关重要的角色。这些系统的核心目的是提高企业的工作效率、增强客户关系并优化企业资源。 1、定义 OA(办公自动化系统):此系统旨在为企业提供办公过程中所需的基本工具和服务,如电子邮件、日…

    2023年7月23日
    13400
  • OKR的执行周期是多久

    OKR(Objectives and Key Results)的执行周期通常与组织的需求和战略目标相匹配。本文将分析以下三个方面:一、常见的OKR周期;二、周期选择的重要性;三、如何确定合适的执行周期。常见的OKR周期包括季度、半年和年度,其中季度OKR最为常用,因为它能够提供足够的灵活性来适应快速…

    2023年9月4日
    8000
  • 怎么编写测试用例

    编写测试用例的流程:1、需求分析;2、提取测试点;3、测试用例编写;4、测试用例评审。需求分析分为业务需求、用户需求和功能需求,业务需求关注系统是否满足业务。 1、需求分析 2、提取测试点 测试点是针对软件所列出的功能各个情况的梳理在某种程度上来说,他是功能模块的细化,但是又比写出的用例要粗糙,更像…

    2023年1月31日
    23900
  • 如何提升研发团队的创新能力

    提升研发团队的创新能力是确保企业持续竞争力的关键。核心观点包括1、培养开放的团队文化;2、实施多元化的思维培训;3、提供充足的资源和工具;4、建立激励机制;5、推行跨部门合作。推动团队文化,积极鼓励知识分享和风险承担是提升创新能力的基础。通过多元化思维培训,激发团队成员的创造力。保障资源充足,为团队…

    2023年11月14日
    2000
  • 一篇文章加图片是怎么在数据库里面存储的

    一篇文章加图片在数据库里面存储需要以下几点:1、存储文章内容;2、存储图片;3、图片的本地存储和云存储;4、数据库设计优化。对于文章的文本内容,通常可以使用数据库中的文本字段(Text)来存储。数据库中的Text字段允许存储大量的文本数据,如文章内容、新闻内容等。 一、存储文章内容 对于文章的文本内…

    2023年7月31日
    24700
  • 针对互联网任务的协作看板工具有哪些

    针对互联网任务的协作看板工具有以下几个:1、Pixso;2、飞书;3、Teambition;4、石墨文档。Pixso是一款可以进行团队成员协作的平台。Pixso能够让一个设计团队在一个项目内进行沟通设计,同时可以让非设计师成员通过项目的透明化进行项目进度掌握。 1、Pixso 这款软件是一款基于矢量…

    2023年1月6日
    17200
  • olap与oltp的区别

    olap与oltp的区别主要有两点:1、两者的定义不同;2、两者的特点不同。oltp是一种以事务元作为数据处理的单位、人机交互的计算机应用系统。olap是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。 1、两者的定义不同 OLTP的概述:On-Line…

    2023年1月31日
    31800
  • 数据库中的数据模型和数据模式有何区别

    数据模型和数据模式是两个不同的概念,它们在数据库中的作用也不同。数据模型是描述数据之间关系的抽象概念,而数据模式是数据在数据库中的物理存储方式。数据模型是一个理论模型,数据模式是一个实际模型。 数据模型和数据模式是两个不同的概念,它们在数据库中的作用也不同。数据模型是描述数据之间关系的抽象概念,而数…

    2023年5月30日
    34300
  • 编译程序和解释程序的区别是什么

    编译程序和解释程序的区别在于以下方面:编译型语言的源代码有错误编译不通过,无法生成可执行代码,更无法执行程序;解释型语言只有执行时才会判断是否出错,即使一句出错,也可以继续执行下一句等。 一、区别 编译型是使用编译器编译后生成计算机硬件可直接执行的指令,解释型是在运行时才由解释器逐语句去执行。 编译…

    2023年2月21日
    88700

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部