Spring factory-method 可以创建单例类
<bean id="config"
class="Configuration" factory-method="getInstance">
<!-- 配置文件路径 -->
<constructor-arg type="java.lang.String" value="config.properties"/>
</bean>
运用 factory-method创建单例 ,getInstance指定的是静态方法,而不是使用构造函数来创建类的实例
Configuration.java
private static Configuration _instance = null;
private Configuration(String configPath){
//执行你配置文件的加载
System.out.println("configPath");
}
public static Configuration getInstance(String configPath){
logger.info("init...");
if(_instance == null){
_instance = new Configuration(configPath);
}
return _instance;
}
分享到:
相关推荐
C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) (Level 300)
### Spring的BeanFactory的接口注解 #### 一、引言 在Spring框架中,`BeanFactory`是工厂模式的一种实现,它负责管理容器中的Bean的生命周期与依赖注入。了解`BeanFactory`及其相关接口的功能对于掌握Spring的核心...
- `<bean id="personService3" factory-bean="fac" factory-method="createInstance" scope="prototype">`: `factory-bean`引用一个已经存在的bean,`factory-method`则指定实例工厂的方法,这里创建的是原型...
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.amqp.core.Queue]: Factory method 'clientQueue' threw exception; nested exception is org....
<bean id="actorSystem" class="com.typesafe.akka.actor.ActorSystem" factory-method="create"> <constructor-arg value="myActorSystem"/> ``` 接下来,我们可以定义一个Spring管理的Actor。Spring通过`...
“tiny-spring-step-7-method-interceptor-by-jdk-dynamic-proxy.zip”开始涉及AOP概念,通过JDK动态代理实现了方法拦截器,这使得我们可以在不修改原有代码的情况下,对方法进行增强,例如添加日志、事务控制等。...
- 如果不想通过默认构造函数创建Bean,可以使用`factory-bean`和`factory-method`来指定工厂Bean和工厂方法。 8. ** Profiles**: - Spring 3.1 引入了Profiles的概念,允许根据不同的环境配置不同的Bean。例如:...
实例工厂 <bean bean-factory="" factory-method=""> 管理对象 对象关系DI 构造器注入<construct-arg> set注入 生命周期 scope:prototype/singleton init-method destroy-method API ...
2. **工厂方法配置**:对于非静态工厂类,可以通过`factory-bean`指定工厂对象,`factory-method`指定工厂方法,如`clientService2`。对于静态工厂类,可以直接在`class`属性中指定工厂方法,如`clientService`。 3...
9. `<bean factory-method="">`:通过工厂方法创建bean,而非使用默认构造器。 10. `<aop:config>`和`<aop:aspect>`:用于配置面向切面编程(AOP),定义切点、通知、切面等。 Spring的`ApplicationContext`是...
<bean id="actualBean" factory-bean="myFactoryBean" factory-method="create"/> ``` 在这个例子中,`myFactoryBean`是FactoryBean,`actualBean`是通过`myFactoryBean`的`create`方法创建的。 在标签"源码"中,...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
<bean id="exampleBean" factory-bean="serviceLocator" factory-method="createInstance"/> ``` 在这种情况下,Spring会调用名为`serviceLocator`的Bean提供的`createInstance`方法来创建一个新的Bean实例。...
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath:jdbc.properties <!-- 配置数据源 --> ...
实例化Bean有两种方式:通过`class`属性指定构造器,或者通过`factory-bean`和`factory-method`指定工厂方法。 - **构造器实例化**: ```xml <!-- 构造器参数 --> ``` - **工厂方法实例化**: ```xml ...
- `factory-method`属性指定bean通过静态或实例工厂方法创建。例如,`personService2`使用静态工厂方法`createInstance`,而`personService3`使用实例工厂方法,首先创建工厂bean `fac`,然后调用`createInstance`...
在源码中,`org.springframework.beans.factory.BeanFactory`接口和`org.springframework.context.ApplicationContext`接口是IoC容器的基石。`ApplicationContext`提供了更丰富的功能,如事件发布、国际化支持和AOP...
<jms:listener destination="myQueue" ref="messageHandler" method="onMessage"/> </jms:listener-container> ``` 在这里,`messageHandler`是你的自定义消息处理器类,`onMessage`方法会被调用来处理接收到的消息...
<bean id="exampleBean" class="com.example.StaticFactory" factory-method="create"/> ``` 这里,`class`属性指定了静态工厂类,`factory-method`属性指定了要调用的静态工厂方法。 实例工厂的配置则更复杂一些...
- **实例工厂方法实例化**:先定义一个工厂Bean,然后通过`factory-bean`属性引用工厂Bean,再用`factory-method`指定工厂方法。 5. **Spring Bean的生命周期**: - **初始化方法**:通过`init-method`属性指定...