當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Builder模式和Spring框架
生活随笔
收集整理的這篇文章主要介紹了
Builder模式和Spring框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
介紹
每當對象同時具有強制屬性和可選屬性時,我都喜歡使用構建器模式 。 但是構建對象通常是Spring框架的責任,因此讓我們看看如何同時使用基于Java和XML的Spring配置來使用它。
建造者的例子
讓我們從下面的Builder類開始。
基于Java的配置
如果您使用的是基于 Spring Java的配置,那么您將采用以下方式:
@org.springframework.context.annotation.Configuration public class FlexyDataSourceConfiguration {@Autowiredprivate PoolingDataSource poolingDataSource;@Beanpublic Configuration configuration() {return new Configuration.Builder(UUID.randomUUID().toString(),poolingDataSource,CodahaleMetrics.BUILDER,BitronixPoolAdapter.BUILDER).build();}@Bean(initMethod = "start", destroyMethod = "stop")public FlexyPoolDataSource dataSource() {Configuration configuration = configuration();return new FlexyPoolDataSource(configuration,new IncrementPoolOnTimeoutConnectionAcquiringStrategy.Builder(5),new RetryConnectionAcquiringStrategy.Builder(2));} }基于XML的配置
基于XML的配置比基于Java的配置更為冗長且不直觀:
<bean id="configurationBuilder" class="com.vladmihalcea.flexypool.config.Configuration$Builder"><constructor-arg value="uniqueId"/><constructor-arg ref="poolingDataSource"/><constructor-arg value="#{ T(com.vladmihalcea.flexypool.metric.codahale.CodahaleMetrics).BUILDER }"/><constructor-arg value="#{ T(com.vladmihalcea.flexypool.adaptor.BitronixPoolAdapter).BUILDER }"/> </bean><bean id="configuration" factory-bean="configurationBuilder" factory-method="build"/><bean id="dataSource" class="com.vladmihalcea.flexypool.FlexyPoolDataSource" init-method="start" destroy-method="stop"><constructor-arg ref="configuration"/><constructor-arg><array><bean class="com.vladmihalcea.flexypool.strategy.IncrementPoolOnTimeoutConnectionAcquiringStrategy$Builder"><constructor-arg value="5"/></bean><bean class="com.vladmihalcea.flexypool.strategy.RetryConnectionAcquiringStrategy$Builder"><constructor-arg value="2"/></bean></array></constructor-arg> </bean>結論
無論您已經選擇了Spring配置模式如何,都可以使用Builder模式。 如果您不確定它的用處,請注意以下三個令人信服的原因 。
翻譯自: https://www.javacodegeeks.com/2014/03/the-builder-pattern-and-the-spring-framework.html
總結
以上是生活随笔為你收集整理的Builder模式和Spring框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 8日期时间API教程:Loca
- 下一篇: 阿里云存在ddos攻击吗(阿里云存在dd