除了xml文件和属性文件以外,我们还可以在程序中直接来配置bean以及bean之间的联系,通过org.springframework.beans.MutablePropertyValues设置属性,然后将属性与Bean的类设置给org.springframework.beans.beans.factory.support.RootBeanDefinition,最后通过org.springframework.beans.factory.support.BeanDefinitionRegistry来注册Bean,下面我们还是以人物Role为实例:
public class TestBeanByProgrammer {
public static void main(String[] args) {
//通过MutablePropertyValues来设置属性
MutablePropertyValues properties=new MutablePropertyValues();
//设置name属性值为Mary
properties.addPropertyValue("name","Mary");
//设置health属性值为100
properties.addPropertyValue("health", 100);
//将properties赋予给Role类
RootBeanDefinition definition=new RootBeanDefinition(Role.class,properties);
BeanDefinitionRegistry reg=new DefaultListableBeanFactory();
//注册bean,设置bean的别名为role,相当与xml配置文件的id
reg.registerBeanDefinition("role", definition);
BeanFactory factory=(BeanFactory)reg;
Role role=(Role)factory.getBean("role");
System.out.println("人物名称是:" + role.getName() + ",人物的生命值是:"
+ role.getHealth());
if (role.getGoods() != null) {
System.out.println(role.getName() + "现有物品" + role.getGoods().size()
+ "件" + ",分别为:");
for (Goods obj : role.getGoods()) {
System.out.println(obj.getName());
}
} else
System.out.println("暂时没有任何物品!");
}
}
分享到:
相关推荐
Spring框架是Java开发中不可或缺的一部分,它以其控制反转(IoC)和依赖注入(DI)的核心特性,极大地简化了应用程序的构建与管理。在本文中,我们将深入探讨Spring中的Bean配置,包括IoC和DI的概念,Bean的配置方式...
2. **属性注入**:Spring容器将根据Bean定义中的属性值、setter方法或构造函数参数来设置Bean的依赖。这包括了基本类型、其他Bean引用、集合类型的依赖等。 3. **初始化回调**:Spring容器调用Bean的`init-method`...
Spring则是一个广泛应用的IoC(控制反转)和AOP(面向切面编程)容器,它提供了丰富的功能来管理Bean以及整个应用程序的生命周期。将Quartz与Spring结合,可以利用Spring的优秀特性来管理和控制Quartz的Job,使调度...
在这个例子中,我们将探讨如何将Spring Security与MySQL数据库结合使用,通过bean配置来实现用户认证和权限管理。首先,我们需要理解Spring Security的基本架构,它由一系列组件构成,如AuthenticationManager负责...
Spring Boot 是一个由 Pivotal Team 开发的 Java 框架,旨在简化Spring应用程序的初始设置和日常开发。它提供了预配置的依赖项、自动配置功能以及内嵌的HTTP服务器,如Tomcat或Jetty,让开发者可以快速地创建独立...
HierarchicalBeanFactory允许父子级联,这意味着可以创建父子层级关联的容器体系,子容器可以访问父容器中的bean,反之则不行。此外,ConfigurableBeanFactory接口增强了IoC容器的可定制性,允许设置类装载器、属性...
Spring框架是Java开发中广泛使用的应用框架,而Quartz则是一个功能强大的作业调度库,能够帮助开发者在应用程序中实现定时任务的安排。本篇文章将深入探讨Spring如何与Quartz集成,以及它们之间的协同工作原理。 ...
本文将详细介绍如何在Spring项目中配置和使用Quartz,帮助开发者更好地理解和掌握这项技术。 #### 二、Quartz简介 Quartz是一个全面的、开放源代码的作业调度框架,它可以被应用在J2EE和J2SE应用程序中,用于处理...
- `<property>`:用于设置Bean的属性值,通过name或ref属性关联属性名和值。 - `<context:component-scan>`:扫描指定包下的所有带有特定注解的类,自动将其注册为Bean。 例如: ```xml <bean id="exampleBean" ...
而Quartz则是一个强大的任务调度库,用于在应用程序中安排和执行周期性的任务。 Spring 集成 Quartz 的目的是为了利用Quartz的调度能力,使应用可以按需执行定时任务。以下是一些关键的知识点: 1. **Spring与...
例如,当需要将一个属性设置为`null`时,需要在XML配置文件中使用`<null/>`标签,这是Spring特有的表示`null`值的方式。此外,配置文件还可以用来定义内部bean,这些bean仅限于在当前配置文件内使用,外部无法直接...
Bean在Spring中代表了应用程序中的对象,这些对象由Spring容器管理和控制其生命周期。Bean配置通常在XML文件中完成,文件名为`beans.xml`,在这里定义Bean的ID、类名、属性和依赖关系。例如: ```xml <bean id=...
Spring整合Quartz是一款常见的任务调度解决方案,它允许开发者在应用程序中安排定时任务的执行。Quartz是一个开源的作业调度框架,而Spring通过提供一个简洁的API使得与Quartz的集成变得简单。以下是对Spring整合...
3. 使用`@Component`和`@Path`注解:将Spring的Bean与Jersey的资源类关联,允许Spring管理资源类的生命周期。 4. 配置Jersey-Spring桥接:通过`ResourceConfig`注册Spring应用上下文,使Spring能够处理依赖注入。 ...
Spring Context:提供框架式的 Bean 访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP 服务;Spring DAO:对 JDBC 的抽象,简化了数据访问异常的处理;Spring ORM:对现有的 ORM 框架的支持;Spring ...
在本项目中,我们将探讨如何在Java 1.8环境下配置和使用Spring AOP,以及如何生成代理类。 首先,Spring AOP是Spring框架的核心组件之一,它通过代理模式实现。在Java 1.8环境下,Spring AOP支持两种类型的代理:...
Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...
在Spring配置文件中添加Trigger的配置,关联到Job。例如,使用CronTrigger按照cron表达式进行定时触发: ```xml <bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">...
`<property>`标签用来设置bean的属性,使用`${}`表示从外部属性文件中读取值。 #### Bean引用 - `<ref bean="..."/>`: 引用另一个bean,可以从当前或导入的XML文件中查找。 - `<ref local="..."/>`: 只在当前XML...