@command(name = "com/utils", description = "..",
mixinStandardHelpOptions = true, header = {..})
public class UtilityCommand implements Runnable {
@Inject
SomeBean somebean;
public void run() {
somebean.method1();
}
}
# Now I want to create Singleton bean using below syntax #
@Singleton
public class SomeBean {
@Inject RxHttpClient client;
void method1(){
client.exchange(); // Rest call goes here
}
}
@Factory公共类MyFactory{
@Bean
public SomeBean myBean() {
new SomeBean();
}
}
用于检查详细输出##的简单测试案例
public class UtilityCommandTest {
@test
public void testWithCommandLineOption() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.setOut(new PrintStream(baos));
try (ApplicationContext ctx = ApplicationContext.run(Environment.CLI, Environment.TEST)) {
**ctx.registerSingleton(SomeBean.class,true);**
String[] args = new String[] { "-v"};
PicocliRunner.run(UtilityCommand.class, ctx, args);
assertTrue(baos.toString(), baos.toString().contains("Hi!"));
}
}
picocli.CommandLine$InitializationException:无法实例化类Com.UtilityCommand:IO.Micronaut.Context.Exceptions.DependencyInjectionException:无法为类Com.UtilityCommand的字段[someBean]注入值
采取的路径:UtilityCommand.SomeBean
是否尝试使用@requires注释?
command(name = "com/utils", description = "..",
mixinStandardHelpOptions = true, header = {..})
@Requires(beans = SomeBean.class)
public class UtilityCommand implements Runnable {
@Inject
SomeBean somebean;
public void run() {
somebean.method1();
}
}
我也遇到了,我注意到我在main中使用了Picocli runner
public static void main(String[] args) {
new CommandLine(commandObject).execute(args);
}
我换了Micronaut的PicocliRunner,它起作用了
public static void main(String[] args) {
PicocliRunner.run(commandObject.class,args);
}
还有,我看到了这个例子
我想用java为创建自定义注释。我想用这个注释比较两个字符串值,比较后会返回一个
问题内容: 序列化器很少,例如 我们如何创建自己的自定义序列化程序? 问题答案: 在这里,您有一个示例,将自己的序列化器/解串器用于Kafka消息值。对于Kafka消息密钥是同一回事。 我们希望将MyMessage的序列化版本作为Kafka值发送,并再次将其反序列化为使用方的MyMessage对象。 在生产者端序列化MyMessage。 您应该创建一个实现org.apache.kafka.comm
如何创建自己的自定义序列化程序?
问题内容: 在自定义的Wicket类中,与下面的类似,我使用的是应由Spring注入的服务bean,如通过SpringBean批注定义的(来自wicket- spring项目)。 但是,这是行不通的:NullPointerException失败,因为由于 某种原因Spring尚未注入该bean 。 奇怪的是,我在Wicket页面上使用了与匿名内部类完全相同的Model代码,并且在那里没有问题。 我
我尝试了以下文章中描述的步骤 或者和这篇GitHub帖子一样 这对我不起作用。 我也读到这种方法:看这里,但这不是我在寻找的 我如何定制我的库,使Micronaut能够直接在我的项目中创建和注入它的bean?
问题内容: 我想以编程方式将bean定义添加到应用程序上下文中,但是该定义的某些属性是该上下文中的其他bean(我知道它们的名称)。我该怎么做才能注入那些属性? 例如: 我正在使用Spring 3.0。 问题答案: 用途: