Spring入门实例 bean的初始化
实例:
bean类:
public static DatabaseXMLBean createInstanceother()
{
DatabaseXMLBean bean = new DatabaseXMLBean();
bean.setName("emp");
bean.setLength(10);
return bean;
}
private String name;
public String getName()
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,getname");
return name;
}
public void setName(String name)
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,setname");
this.name = name;
}
public String getType()
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,gettype");
return type;
}
public void setType(String type)
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,settype");
this.type = type;
}
public int getLength()
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,getlength");
return length;
}
public void setLength(int length)
{
System.out.println("!!!!!!!!!!!!!!!!!!!!DataBaseXML,setlength");
this.length = length;
}
public String getJdbcName()
{
return jdbcName;
}
public void setJdbcName(String jdbcName)
{
this.jdbcName = jdbcName;
}
public String getJdbcType()
{
return jdbcType;
}
public void setJdbcType(String jdbcType)
{
this.jdbcType = jdbcType;
}
public boolean isPrimaryKey()
{
return primaryKey;
}
public void setPrimaryKey(boolean primaryKey)
{
this.primaryKey = primaryKey;
}
public boolean isVisible()
{
return visible;
}
public void setVisible(boolean visible)
{
this.visible = visible;
}
private String type;
private int length;
private String jdbcName;
private String jdbcType;
private boolean primaryKey;
private boolean visible;
@Override
public String toString()
{
StringBuffer sb = new StringBuffer();
sb.append("type:").append(type).append("\n");
sb.append("length:").append(length).append("\n");
sb.append("jdbcName:").append(jdbcName).append("\n");
sb.append("jdbcType:").append(jdbcType).append("\n");
sb.append("primaryKey:").append(primaryKey).append("\n");
sb.append("visible:").append(visible);
return sb.toString();
}
public void init() throws Exception{
System.out.println("DataBaseXML,init方法初始化");
}
public DatabaseXMLBean()
{
System.out.println("DataBaseXML构造函数");
}
配置文件:
<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 name="column2" class="com.myspring.MyJavaBean" init-method="init">
<property name="name" value="dirk.zhang"></property>
</bean>
<bean name="column3" class="com.myspring.DatabaseXMLBean" init-method="init">
<property name="type" value="String"></property>
<property name="length" value="0"></property>
</bean>
<bean name="column4" class="com.myspring.MytestSpring" init-method="init">
</bean>
</beans>
测试方法:
System.out.println("加载Spring配置文件");
// Resource res = new ClassPathResource("com/myspring/demo-bean.xml");//spring url require the src as initsource
// BeanFactory factory = new XmlBeanFactory(res);
ApplicationContext context = new ClassPathXmlApplicationContext("com/myspring/DatabaseXMLBean.xml");
BeanFactory xmlbf = context;//ApplicationContext可以转换为Beanfactory
System.out.println("加载spring配置文件结束");
MyJavaBean bean = (MyJavaBean) context.getBean("column2");
System.out.println("获取属性name:"+bean.getName());
分享到:
相关推荐
9. **Bean初始化**: 最后,`initializeBean(beanName, exposedObject, mbd)`对创建好的Bean进行初始化,包括调用初始化方法(如果有`@PostConstruct`注解的方法),以及执行AOP代理等操作。 整个流程中,Spring...
4. **启动后处理器(BeanPostProcessor)**:这些是特殊类型的Bean,它们在所有常规Bean实例化之后,但初始化之前进行处理。它们的实例化顺序由`@Order`注解决定,或者通过实现`Ordered`接口来控制。 5. **...
2. **初始化**:当Spring IoC容器加载时,会根据配置文件中的信息创建Bean实例,并执行任何指定的初始化方法。 3. **使用**:开发者可以通过Spring容器获取Bean的实例并进行使用。 4. **销毁**:在某些情况下,...
一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...
例如,`<bean>`元素是配置中最基础的部分,用于定义一个bean实例,包括其类名、初始化方法、属性注入等。此外,还有`<alias>`用于为bean创建别名,`<import>`引入其他配置文件,以及`<property>`用于设置bean的属性...
工厂Bean允许开发者在对象实例化时进行更复杂的控制,比如引入特定的初始化过程、依赖注入或者资源管理。这篇博文将深入探讨工厂Bean的工作原理和使用场景。 首先,让我们理解什么是Bean。在Spring中,Bean是IoC...
Spring Bean的初始化和销毁实例详解 Spring Bean的初始化和销毁是Spring框架中一个非常重要的概念,它们都是Bean生命周期中不可或缺的一部分。在Spring框架中,我们可以使用多种方式来控制Bean的初始化和销毁,以下...
4. 编写SpringDemo1.java或SpringDemo2.java:这两个示例类是Spring程序的入口,它们会读取配置文件,初始化bean,并调用HelloBean的方法。例如,SpringDemo1可以这样实现: ```java import org.springframework....
在这个阶段,你将学习到BeanFactory如何解析XML配置,创建Bean实例,并执行初始化方法,理解Bean的生命周期管理。 “tiny-spring-step-3-inject-bean-with-property.zip”带你走进依赖注入的世界。这个步骤通过属性...
这篇“Spring学习笔记(2)----实例化Bean的三种方式”着重讲解了如何在Spring应用上下文中初始化Bean。以下是这三种方式的详细说明: 1. **XML配置方式** 在早期的Spring版本中,XML配置是最常见的实例化Bean的...
`@Sql`注解可以用来在测试前后执行SQL脚本,用于初始化或清理数据库状态,确保测试的隔离性。同时,`@Transactional`注解可以开启事务,测试结束后自动回滚,避免对数据库造成影响。 5. **测试报告:** Spring ...
为了运行这个简单的例子,我们需要编写一个启动类,该类会加载配置文件并初始化`HelloWorld` bean: ```java import org.springframework.context.ApplicationContext; import org.springframework.context.support...
3. `<bean>`:这是Spring配置文件中的基础元素,用于定义Bean的实例化、配置及依赖关系。在`spring-jdbc-4.2.xsd`中,它可以用来定义DataSource、JdbcTemplate等组件。 4. `<jee:jndi-lookup>`:用于从JNDI目录服务...
Spring会自动处理依赖关系,确保在使用Bean之前,其依赖的对象已经被正确地初始化和注入。 Bean的作用域是另一个重要的概念。Spring支持单例(Singleton)、原型(Prototype)、请求(Request)、会话(Session)和...
在本篇文章中,我们将深入探讨Spring源码中关于Bean初始化的过程,特别是`finishBeanFactoryInitialization()`方法和`preInstantiateSingletons()`方法。 首先,`finishBeanFactoryInitialization(Confi...
Spring Boot 是一个基于 Spring 框架的快速开发工具,它简化了初始化和配置过程,使得开发者能够更快地构建高质量的 Java 应用程序。在这个“spring boot入门--创建项目到数据库连接”的教程中,我们将深入探讨如何...
默认情况下,如果未明确指定`scope`属性,Bean的默认作用域是`singleton`,这意味着Spring容器会创建一个共享的实例,并在容器启动时或首次请求时初始化这个实例。在示例代码中,通过`ApplicationContext`获取到的`...
总结起来,Spring的Bean初始化是一个复杂而精细的过程,涉及XML解析、BeanDefinition的构建、依赖注入、初始化回调、AOP代理等多个环节。通过深入理解这一过程,开发者能更好地掌握Spring框架的工作原理,从而更高效...
这种方法的优势在于它可以提供更多的灵活性,例如可以在创建Bean时进行额外的配置或初始化操作。 假设我们想要创建`Chinese`类的实例,但是希望在创建时执行一些额外的逻辑,如读取配置信息或进行预处理,我们可以...
通过Struts 2-Spring 插件,我们可以将Struts 2 的Action 对象交给Spring 来管理,Spring 负责初始化、配置和销毁这些对象。这样,Action 类不再需要自己去创建依赖的对象,而是通过构造函数或setter 方法接收Spring...