在配置文件bean.xml中,配置bean的时候初始化属性的值:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" 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 id="userDAOImpl" class="com.test.dao.impl.UserDAOImpl"> <property name="daoId" value="8"></property> <property name="daoStatus" value="good"></property> </bean> <bean id="userService" class="com.test.service.UserService"> <property name="userDAO"> <ref bean="userDAOImpl" /> </property> </bean> </beans>
daoId和daoStatus是UserDAOImpl.java中的成员变量:
package com.test.dao.impl; import com.test.dao.UserDAO; import com.test.model.User; public class UserDAOImpl implements UserDAO { private int daoId; private String daoStatus; public int getDaoId() { return daoId; } public void setDaoId(int daoId) { this.daoId = daoId; } public String getDaoStatus() { return daoStatus; } public void setDaoStatus(String daoStatus) { this.daoStatus = daoStatus; } public void save(User user) { System.out.println("user saved!"); } }
在jUnit测试类UserServiceTest.java中就可以取出这两个成员变量的初始化值:
package com.test.service; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.dao.impl.UserDAOImpl; public class UserServiceTest { @Test public void testAdd() throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService service = (UserService) applicationContext.getBean("userService"); UserDAOImpl userDAOImpl = (UserDAOImpl) service.getUserDAO(); System.out.println("daoId = " + userDAOImpl.getDaoId()); System.out.println("daoStatus = " + userDAOImpl.getDaoStatus()); } }
相关推荐
在Spring中,核心概念之一就是Bean,它是一个简单的Java对象,由Spring IoC容器管理。Spring通过XML配置文件或注解来定义、配置和管理Beans。下面将深入探讨`<beans>`、`<bean>`及其属性,以及其他相关的配置元素。 ...
2. **Spring注解**:Spring还提供了`@Value`注解来注入简单的值(如字符串、数字等),或从配置文件中读取值。 ```java @Component public class ExampleClass { @Value("${property.name}") private String ...
当我们遇到一些特殊的对象,如由工厂方法创建,而非简单地通过`new`关键字实例化时,Spring提供了工厂bean(FactoryBean)来处理这种情况。工厂bean允许我们自定义对象的创建过程,同时让Spring容器负责属性注入。 ...
本示例将聚焦于“Spring简单的缓存”实现,帮助开发者了解如何在Spring框架中集成和使用缓存功能。 Spring框架提供了强大的缓存抽象,支持多种缓存机制,如 EhCache、Redis、Hazelcast 和 Infinispan 等。在Spring...
1. 尽量保持属性编辑器简单,避免引入过多的业务逻辑。 2. 当需要处理复杂转换时,考虑使用`Converter`或`ConverterFactory`,它们在Spring 3.0之后被引入,提供了更强大的转换能力。 3. 为了代码的可读性和可维护性...
标题中的“Spring简单模拟Spring容器”意味着我们将探讨Spring框架的核心特性——IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),以及如何通过编程方式模拟Spring容器的工作原理。...
下面是一段简单的示例代码,用于展示如何使用Spring框架创建Bean实例并进行依赖注入: ```java // 创建Spring容器 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); // ...
本主题将深入探讨“简单Spring容器实现”,基于提供的标签“源码”和“工具”,我们将聚焦于Spring容器的原理及其简易实现。下面,我们先来理解Spring容器的核心概念,然后逐步探索其内部机制,并通过一个名为...
【标题】"Spring+MyBatis 简单实例图书管理系统"揭示了这是一个结合了Spring框架和MyBatis持久层框架的项目实例,主要用于管理图书数据。在IT领域,Spring和MyBatis是两个非常流行的开源Java技术,它们在企业级应用...
通过这个系列的教程,你将掌握Spring基本原理,理解IoC容器的工作机制,并能够创建简单的Spring应用。这只是一个开始,随着你对Spring的深入学习,你将能驾驭更复杂的业务场景,利用Spring的高级特性如AOP、事务管理...
Spring 提供了多种方式来实例化和管理 Bean,包括通过构造方法、简单工厂模式、FactoryBean 等。 Spring 还提供了多种范围的 Bean,包括 singleton、prototype 等。 Spring 的 IoC 容器是框架的核心组件,它负责...
下面我们将通过一个简单的例子来展示如何使用`p`名称空间注入Bean属性: 1. 首先,定义一个Bean类,包含一个属性和对应的setter方法: ```java public class SimpleBean { private String name; public void ...
"spring简单示例"可能包含了一些基本的Spring配置和使用案例,让我们来深入探讨一下Spring框架的关键概念和功能。 1. **依赖注入**:Spring框架的核心特性之一是依赖注入,它允许开发者在运行时动态地将依赖关系...
本项目"自主实现的简易Spring框架"显然是对Spring核心功能的一种简化版实现,旨在帮助开发者深入理解Spring的核心机制。 首先,我们来讨论一下Spring的核心组件——IoC(Inversion of Control)容器。IoC也被称为...
总的来说,Spring定时器为开发者提供了一种简单、灵活的方式来管理周期性任务,极大地提高了开发效率,并降低了维护成本。通过合理配置和使用,我们可以轻松地将定时任务集成到Spring Boot应用中,实现自动化的工作...
在Spring框架中,属性编辑器(PropertyEditor)是一个关键组件,它负责将配置文件中非标准格式的数据转换为JavaBean的可识别类型。属性编辑器是基于JavaBeans规范的,因此理解这个概念需要先了解JavaBean和JavaBeans...
2. 属性注入:Spring会根据配置的属性值,通过setter方法或者构造函数参数完成属性注入。对于集合类型的属性,Spring可以自动进行类型匹配。 3. 初始化回调:当Bean实例化并注入属性后,Spring会调用`@...
此外,Spring还提供了更复杂的定时配置,如通过`@EnableScheduling`注解在配置类上启用定时任务,或者使用`@Scheduled`注解的`cron`属性来设置基于cron表达式的定时规则,这可以实现更灵活的时间调度。 总的来说,...
"mySSH"可能指的是MySSH项目,这是一个基于Struts2和Spring的简单示例,可能包含了基础的CRUD操作。源码中可能包含了Action类、Service接口及实现、DAO接口及实现,以及相关的配置文件。通过阅读源码,你可以学习到...