diff --git a/grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsConfiguration.java b/grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsPluginConfiguration.java similarity index 60% rename from grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsConfiguration.java rename to grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsPluginConfiguration.java index 1039bbcf0c..24edcb062a 100644 --- a/grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsConfiguration.java +++ b/grails-plugin-codecs/src/main/groovy/org/grails/plugins/codecs/CodecsPluginConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2004-2019 the original author or authors. + * Copyright 2004-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,29 +13,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.grails.plugins.codecs; import grails.core.GrailsApplication; -import io.micronaut.context.annotation.Factory; import org.grails.encoder.CodecLookup; +import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; /** * Beans for Codecs * * @author graemerocher + * @author Michael Yan * @since 4.0 */ -@Factory -public class CodecsConfiguration { +@Configuration(proxyBeanMethods = false) +public class CodecsPluginConfiguration { - @Bean("codecLookup") + @Bean @Primary - public CodecLookup codecLookup(GrailsApplication grailsApplication) throws Exception { - final DefaultCodecLookup defaultCodecLookup = new DefaultCodecLookup(grailsApplication); - defaultCodecLookup.reInitialize(); + @ConditionalOnMissingBean + public CodecLookup codecLookup(ObjectProvider grailsApplication) { + DefaultCodecLookup defaultCodecLookup = new DefaultCodecLookup(grailsApplication.getIfUnique()); return defaultCodecLookup; } } diff --git a/grails-plugin-codecs/src/main/resources/META-INF/spring.factories b/grails-plugin-codecs/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..d33e73ad4e --- /dev/null +++ b/grails-plugin-codecs/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# Auto Configure +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.grails.plugins.codecs.CodecsPluginConfiguration \ No newline at end of file