當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
builder 模式_Builder模式和Spring框架
生活随笔
收集整理的這篇文章主要介紹了
builder 模式_Builder模式和Spring框架
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
builder 模式
介紹
每當(dāng)對(duì)象同時(shí)具有強(qiáng)制屬性和可選屬性時(shí),我都喜歡使用構(gòu)建器模式 。 但是構(gòu)建對(duì)象通常是Spring框架的責(zé)任,因此讓我們看看如何同時(shí)使用基于Java和XML的Spring配置來(lái)使用它。
建造者的例子
讓我們從下面的Builder類(lèi)開(kāi)始。
基于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的配置更為冗長(zhǎng)且不直觀:
<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>結(jié)論
無(wú)論您已經(jīng)選擇了Spring配置模式如何,都可以使用Builder模式。 如果您不確定它的用處,請(qǐng)注意以下三個(gè)令人信服的原因 。
翻譯自: https://www.javacodegeeks.com/2014/03/the-builder-pattern-and-the-spring-framework.html
builder 模式
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的builder 模式_Builder模式和Spring框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 跨级报考备案(备案跨级)
- 下一篇: html嵌入war_WAR文件与具有嵌入