`
shiwuyisheng
  • 浏览: 66541 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

什么是bean

阅读更多

虽然把用在web和企业应用中的java 类称为bean已经有年头了,但在Java EE 6之前,并没有对"bean"进行过明确的定义。即使在EE的规范中,被称为“bean”的东西也有不同的含义,EJB beanJSFmanaged bean。此外,还有第三方的框架给"bean"赋予了各自的含义,比如SpringSeam。虽然bean这个名词大家都很熟悉,但一直没有给他一个通用的、明确的定义。 

最终Java EE6Managed Beans规范中给出了一个通用的定义。Managed Beans被用来指代那些由容器管理(container-managed)的对象,他们和普通的POJO在编程上的区别很小。主要用来提供一些基本服务,比如资源注入,lifecycle回调和关注点切入等。一些辅助规范,比如EJBCDI,是建立在这个基础模型之上的。这些规范一起为Java EE平台建立了统一的bean概念和轻量组件模型。 

通常情况下,任何定义了默认构造方法(无参数)的Java类(或者在构造方法前加了@Inject注解)都是bean。任何JavaBeanEJB session bean都是,你不需要给他们添加任何特殊的代码或配置,只需要把他们打包在含有META-INF/beans.xml的包里,就可以把这些bean注入到他们的调用者之中了(打包是指jar,war或者EJB jar等)。你或许想要了解Why Is Beans xml Required In CDI 

你过去编写的那些JavaBeanEJB目前不能利用CDI规范中定义的那些新服务,但你可以把他们和CDI一起用,也就是说,让container来创建和销毁他们的实例;把他们放在特定的context中;把他们注入到其他bean中;把他们用在EL表达式中;用qualifier annotation来区分他们;甚至给他们加上interceptorsdecorators。完成这些并不需要你修改代码,好吧,最多需要你加上一些annotations。 

转自:http://www.iteye.com/topic/625956

<!--EndFragment-->
分享到:
评论

相关推荐

    Spring项目bean实例化代码

    首先,让我们了解什么是Bean。在Spring中,Bean是应用程序中的业务对象,它们由Spring容器负责创建、配置和管理。Spring容器通过XML、Java配置或注解来定义Bean的定义,这些定义包含了如何创建Bean的信息。 **构造...

    spring学习----工厂Bean

    首先,让我们理解什么是Bean。在Spring中,Bean是IoC容器管理的对象,它们通常由Spring配置元数据(如XML或Java配置)定义。Bean可以通过简单的构造函数、工厂方法或工厂Bean来创建。 工厂Bean是实现了`org.spring...

    00000028_bean-parameter的用法.rar

    首先,让我们了解什么是Bean。在Spring中,Bean是一个由Spring容器创建、管理的对象,通常代表应用程序中的一个组件或服务。Bean可以通过XML配置、注解或者Java配置类进行定义。Bean的创建、初始化、装配以及销毁都...

    基于java的企业级应用开发:Bean的装配方式.ppt

    首先,我们来理解什么是Bean的装配。Bean的装配,也称为依赖注入,是指将对象所需的依赖关系(例如其他对象或服务)设置到该对象中,而不是让对象自己去寻找或创建这些依赖。这样可以降低对象之间的耦合度,提高代码...

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    首先,让我们了解什么是Bean。在Spring中,Bean是一个由Spring IoC容器管理的对象,它代表应用程序中的一个组件或服务。Bean可以通过XML配置文件、注解或Java配置类来定义。而自动扫描和管理Bean则是通过注解或配置...

    JavaEE 使用注解配置Bean的一个示例

    首先,我们要理解什么是Bean。在JavaEE(或Spring框架)中,Bean通常指的是由IoC(Inversion of Control,控制反转)容器管理的对象,这些对象的生命周期和依赖关系由容器负责。通过注解,我们可以告诉Spring容器...

    Jmeter Bean shell 介绍

    1. **什么是 Bean Shell** Bean Shell 是一个遵循 Java 语法的轻量级脚本引擎,它允许用户编写类似于 Java 的代码进行动态执行。Bean Shell 支持动态类型,这意味着你不需要提前声明变量的类型。 2. **特性** - *...

    在 JSP/Servlet 中使用 Bean 自动属性填充机制

    首先,我们来理解什么是Bean。在Java中,Bean是一种符合特定设计模式的Java类,通常用来封装数据和业务逻辑。它们可以被JSP和Servlet用来共享数据和实现业务操作。Bean类通常包含getter和setter方法,以供外部访问和...

    跟我学Spring3(12.3)零配置之注解实现Bean定

    首先,我们来了解什么是Bean。在Spring中,Bean是被Spring IoC容器管理的对象,它可以是任何Java对象,但通常代表应用程序中的业务组件。传统的Spring配置方式是通过XML文件来定义Bean及其依赖关系,而现在,我们...

    singleton Bean 创建 prototype Bean

    在Spring框架中,Bean的两种主要作用域是Singleton和Prototype。Singleton Bean表示在整个Spring IoC容器中只有一个实例,而Prototype Bean则表示每次请求都会创建一个新的实例。这两种作用域的使用场景和实现方式都...

    Spring--2.Spring 中的 Bean 配置-1

    首先,我们要理解什么是Bean。在Spring中,Bean指的是由Spring容器管理的对象,这些对象可以通过XML、注解或者Java配置来定义。Spring容器负责创建Bean,管理它们的生命周期,并处理Bean之间的依赖关系。 1. **XML...

    Spring Bean创建初始化流程.docx

    在`doCreateBean()`方法中,Spring会创建Bean的实例,`createBeanInstance(beanName, mbd, args)`执行Bean实例的创建,而`populateBean(beanName, mbd, instanceWrapper)`则负责填充Bean的属性,将依赖注入到Bean中...

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    `@Autowired`和`@Bean`是两个关键注解,它们在实现DI时起着重要作用。让我们深入探讨这两个注解的工作原理,以及它们在注入bean时的顺序。 `@Autowired`注解由Spring提供,用于自动装配bean的依赖。当我们在字段、...

    Spring Boot: Bean definition overriding

    在本文中,我将讨论棘手的Spring Boot bean...那么您认为将要打印什么? 示例1 @SpringBootApplication public class Application { public static void main(String[] args) { ApplicationContext applicationConte

    xml 转Java bean工具

    在Java编程中,我们经常需要将XML数据转换为Java对象,也就是所谓的Java Bean,以便于处理和操作。Java Bean是符合一定规范的Java类,通常具有getter和setter方法,用于封装数据。 XML到Java Bean的转换可以手动...

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    ejb实例包括session bean和实体bean

    EJB系统主要包括两种主要类型的Bean:Session Bean和Entity Bean。 **Session Bean** Session Bean是EJB中的临时业务对象,代表客户端的一次会话或操作。它们通常用于封装业务逻辑,执行计算任务,或者协调与数据库...

    ejb有状态bean和无状态bean

    EJB主要分为三种类型:无状态会话Bean(Stateless Session Beans)、有状态会话Bean(Stateful Session Beans)以及实体Bean(Entity Beans)。本篇将深入探讨有状态Bean和无状态Bean的概念、区别以及它们的应用场景...

    详解Spring 中如何控制2个bean中的初始化顺序

    Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...

    spring bean的生命周期

    Spring Bean的生命周期是Spring框架中的核心概念,它涵盖了Bean从创建到销毁的全过程。了解这一过程对于优化应用程序的性能和管理资源至关重要。在Spring中,Bean的生命周期主要分为以下几个阶段: 1. **初始化阶段...

Global site tag (gtag.js) - Google Analytics