0

找不到正确的工作示例如何使用自动配置编写自己的模块/库。
有人可以解释如何为 micronaut 应用程序编写适当的模块吗?

尝试加载@Factory类并添加package-info.java注释@Configuration,但这没有帮助。也正在像这样在主类中添加适当的包来扫描 Micronaut.build(args).packages("com.mypackage").start()

样本:

package com.mypackage;

    public class FooService {
      public void bar() {

      }
    }


package com.mypackage;

import io.micronaut.context.annotation.Bean;
import io.micronaut.context.annotation.Factory;
import javax.inject.Singleton;

@Factory
public class FooFactory {

    @Bean
    @Singleton
    public FooService fooService() {
        return new FooService();
    }
}


//com.mypackage.package-info.java
@Configuration
package com.mypackage;

import io.micronaut.context.annotation.Configuration;
4

2 回答 2

1

实际问题出在 Maven 中。
Micronaut 注释处理器不是由maven-compiler-plugin.

解决方案是在 maven-compile-plugin 中配置注解处理器:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <source>${maven-compiler-plugin.source}</source>
                <target>${maven-compiler-plugin.target}</target>
                <encoding>${maven-compiler-plugin.encoding}</encoding>
                <annotationProcessorPaths>
                    <!-- uncomment if you are using lombok -->
                    <!-- path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>${lombok.version}</version>
                    </path -->
                    <path>
                        <groupId>io.micronaut</groupId>
                        <artifactId>micronaut-inject-java</artifactId>
                        <version>${micronaut.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
于 2018-11-15T13:26:51.063 回答
0

通过查看车把视图渲染器,我学到了很多东西。

对于 bean 中的配置,您需要:

  1. 为您的配置选项创建一个带有 getter 的接口。
  2. 创建它的实现。最后,在你的 bean 的构造函数中,
  3. 添加配置接口作为参数。

当 Micronaut 创建您的 bean 时,它将读取application.yml文件并在您的配置 impl 类中设置值。然后它将使用配置值作为参数构建您的 bean。

于 2018-11-12T22:13:41.190 回答