当前位置:首页>开发>正文

什么是spring的内部bean spring bean属性有哪些,属性有什么作用

2023-05-05 15:24:28 互联网 未知 开发

 什么是spring的内部bean spring bean属性有哪些,属性有什么作用

什么是spring的内部bean

在Spring框架中,一个bean仅用于一个特定的属性,这是提醒其声明为一个内部bean。内部bean支持setter注入“property”和构造器注入"constructor-arg“。
下面来看看一个详细的例子,演示使用 Spring 内部 bean 。
package com.yiibai.common

public class Customer
{
private Person person

public Customer(Person person) {
this.person = person
}

public void setPerson(Person person) {
this.person = person
}

@Override
public String toString() {
return "Customer [person=" person "]"
}
}
package com.yiibai.common

public class Person
{
private String name
private String address
private int age

//getter and setter methods

@Override
public String toString() {
return "Person [address=" address ",
age=" age ", name=" name "]"
}
}

很多时候,可以使用 ref 属性来引用“Person” bean到“Customer” Bean,person的属性如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">













在一般情况下,引用这样也没有问题,但由于“yiibai” persion bean 只用于Customer bean,这是更好地声明 “yiibai” person 作为一个内部 bean,如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">












内部 bean 也支持构造器注入如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">












注意:

id 或 name 值在bean类是没有必要以一个内部 bean 呈现,它会简单地忽略Spring容器。
执行结果:
package com.yiibai.common

import org.springframework.context.ApplicationContext
import org.springframework.context.support.ClassPathXmlApplicationContext

public class App
{
public static void main( String[] args )
{
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"Spring-Customer.xml"})

Customer cust = (Customer)context.getBean("CustomerBean")
System.out.println(cust)

}
}

输出结果:
Customer [person=Person [address=address1, age=28, name=yiibai]]

spring bean属性有哪些,属性有什么作用

Spring支持的bean作用域
singleton
容器只为bean创建一个实例。
客户端每次请求都返回一个共享实例。
客户端不能控制bean的生命周期。
由容器控制bean的产生,销毁。
prototype
每次请求bean时。都会创建一个新的实例。(结合Struts每次请求都产生一个新的action的,所以结合Struts的使用,就用这个。)
客户端每次请求(调用getBean(“”)方法)都产生一个新的实例。
实例化后,完全交给客户端代码管理,容器不再追踪其生命周期。并不知道bean何时销毁。
request
用于web应用,bean在一次请求中有效。
session
用于web应用,bean在整个会话中有效。

spring 的bean怎么配置

在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。

spring进行bean的管理,bean是单例的还是多实例的

Spring Bean也称为组件,任何一个JavaBean类都可以作为Spring Bean,但Spring Bean并不要求一定要严格遵循Java Bean规范。Spring中的Bean可以是任意的Java对象,如数据库连接池。
Spring Bean通过Spring容器对其进行实例化、值的注入,以及依赖关系注入等方面管理,还需要对Bean进行定义,即将它定义为一个Spring Bean。

最新文章