XML中Bean的属性说明

 

<bean
  id="beanId"
  name="beanName"
  class="beanClass"
  parent="parentBean"
  abstract="true | false"
  singleton="true | false"
  lazy-init="true | false"
  autowire="no | byName | byType | constructor | autodetect"
  dependency-check = "none | objects | simple | all"
  depends-on="dependsOnBean"
  init-method="method"
  destroy-method="method"
  factory-method="method"
  factory-bean="bean">
</bean>

 

(1) id: Bean的唯一标识名。它必须是合法的XML ID,在整个XML文档中唯一。

 

(2) name: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。

 

(3) class: 用来定义类的全限定名(包名+类名)。只有子类Bean不用定义该属性。

 

(4) parent: 子类Bean定义它所引用它的父类Bean。这时前面的class属性失效。子类Bean会继承父类Bean的所有属性,子类Bean也可以覆盖父类Bean的属性。注意:子类Bean和父类Bean是同一个Java类。

 

(5) abstract(默认为"false"):用来定义Bean是否为抽象Bean。它表示这个Bean将不会被实例化,一般用于父类Bean,因为父类Bean主要是供子类Bean继承使用。

 

(6) singleton(默认为"true"):定义Bean是否是Singleton。如果设为"true",则在BeanFactory作用范围内,只维护此Bean的一个实例。如果设为"flase",Bean将是Prototype状态,BeanFactory将为每次Bean请求创建一个新的Bean实例。

 

(7) lazy-init(默认为"false"):用来定义这个Bean是否实现延迟加载。如果为"false",它将在BeanFactory启动时初始化所有的Singleton Bean。反之,如果为"true",它只在Bean请求时才开始创建Singleton Bean。

 

(8) autowire(默认为"no"):它定义了Bean的自动装载方式。它有以下几种方式:

- "no": 不使用自动装配功能。

-  "byName": 通过Bean的属性名实现自动装配。

- "byType": 通过Bean的类型实现自动装配。

- "constructor": 类似于byType,但它是用于构造函数的参数的自动组装。

- "autodetect": 通过Bean类的反省机制(introspection)决定是使用"constructor"还是使用"byType"。

 

(9) dependency-check(默认为"none"):它用来确保Bean组件通过JavaBean描述的所以依赖关系都得到满足。在与自动装配功能一起使用时,它特别有用。它有以下几种方式:

- none: 不进行依赖检查。

- objects: 只做对象间依赖的检查。

- simple: 只做原始类型和String类型依赖的检查。

- all: 对所有类型的依赖进行检查。它包括了前面的objects和simple。

 

(10) depends-on: 这个Bean在初始化时依赖的对象,这个对象会在这个Bean初始化之前创建。

 

(11) init-method: 用来定义Bean的初始化方法,它会在Bean组装之后调用。它必须是一个无参数的方法。

 

(12) destroy-method: 用来定义Bean的销毁方法,它在BeanFactory关闭时调用。同样,它也必须是一个无参数的方法。它只能应用于singleton Bean。

 

(13) factory-method: 定义创建该Bean对象的工厂方法。它用于下面的"factory-bean",表示这个Bean是通过工厂方法创建。此时,"class"属性失效。

 

(14) factory-bean: 定义创建该Bean对象的工厂类。如果使用了"factory-bean"则"class"属性失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过XML配置装配Bean的步骤: 1. 创建一个 XML 配置文件,例如 `applicationContext.xml`。 2. 在 XML 配置文件声明一个 Bean,例如: ```xml <bean id="userService" class="com.example.UserService"> <property name="userDao" ref="userDao" /> </bean> <bean id="userDao" class="com.example.UserDao" /> ``` 上述 XML 配置文件声明了两个 Bean:`userService` 和 `userDao`。其,`userService` 的类型为 `com.example.UserService`,它依赖于 `userDao`,`userDao` 的类型为 `com.example.UserDao`。 3. 在 Java 代码加载 XML 配置文件并获取 Bean,例如: ```java // 加载 XML 配置文件 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); // 获取 userService Bean UserService userService = context.getBean("userService", UserService.class); ``` 通过注解装配Bean的步骤: 1. 在 Bean 类上使用 `@Component` 注解声明该类为一个组件,例如: ```java @Component public class UserDao { // ... } ``` 2. 在依赖该 Bean 的类使用 `@Autowired` 注解声明该属性需要自动装配,例如: ```java @Service public class UserService { @Autowired private UserDao userDao; // ... } ``` 3. 在 Java 代码通过 `@ComponentScan` 注解扫描组件并自动装配,例如: ```java // 声明需要扫描的包 @ComponentScan("com.example") public class AppConfig { // ... } // 加载 AppConfig 配置类 ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); // 获取 userService Bean UserService userService = context.getBean(UserService.class); ``` 以上是一些简单的示例代码,实际使用可能需要更加复杂的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值