我在Spring boot配置(用@Configuration注释)类中定义了这样一个Bean:
@Bean
public MyRegistry myRegistry() {
return new MyRegistry();
}
MyRegistry如下所示:
@Component
@Getter
@Setter
public class MyRegistry {
Map<String, Object> resourcesMap = new HashMap<>();
public MyRegistry() {
resourcesMap.put("handler1", new MyHandler1());
resourcesMap.put("handler2", new MyHandler2());
}
}
现在,在另一个带有@Component的类中,我有@Autowired myRegistry,并按如下方式使用它:
MyHandler1 handler1 = new ObjectMapper().convertValue(myRegistry.getResourcesMap().get("handler1"), MyHandler1.class);
启动Spring-Boot应用程序时我没有收到任何错误,但当应用程序运行时,Handler1的方法无法访问。
想知道我在这里做错了什么。我可能搞砸了注释的使用,因为我是Spring Boot的新手
您已经使用@组件将MyRegistry定义为bean,除非您想创建多个bean,否则不需要使用@配置创建bean。
我尝试了下面的代码,它正在工作,我希望它会有所帮助。
我的注册表。Java语言
@Component
public class MyRegistry {
private Map<String, Object> resource = new HashMap<>();
public MyRegistry() {
this.resource.put("handler", new MyHandler());
}
public Map<String, Object> getResource() {
return resource;
}
}
MyHandler。Java语言
public class MyHandler {
private String message;
public MyHandler() {
this.message = "Hello world";
}
}
TestBean。Java语言
@Autowired
private MyRegistry myRegistry;
@Override
public void test() throws Exception {
MyHandler handler = new ObjectMapper().convertValue(myRegistry.getResource().get("handler"), MyHandler.class);
System.out.printf("message "+ handler.getMessage());
}
那么下面的代码(snippet1)有效吗?
Object mHandler1Obj = myRegistry.getResourcesMap().get("handler1", MyHandler1.class);
但是当你试图(片段2):
MyHandler1 handler1 = new ObjectMapper().convertValue(myHandler1Obj);
如果是这样,那么spring boot在这里就无关紧要了,“snippet1”工作的事实已经表明spring boot已经完成了它的工作。
现在,它的objectmapper无法将通用对象转换为MyHandler1。。。
为了重现它,尝试从等式中“排除”Spring靴,并仅检查片段2
顺便说一句,这可以解释为什么应用程序上下文(spring boot应用程序)毫无例外地启动:如果它不能自动连接某些东西,它将在启动过程中失败,但正如您所解释的那样,情况并非如此。。。
问题的核心是,我不能刷新或更改一个场景的节点的内容(这里是TablesMain)从另一个类(这里是NamePriceCell)。 我正在使用主StackPane(TableMainController扩展StackPane)构建和应用程序,其中包含其他节点,其中一些节点是ListView。在一个特定的ListView(比如“readitemslistview”)中,我创建了一个自定义ListCel
本文向大家介绍Nginx自定义访问日志的配置方式,包括了Nginx自定义访问日志的配置方式的使用技巧和注意事项,需要的朋友参考一下 前言 Nginx日志主要分为两种:访问日志和错误日志。日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的。 访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得
https://login.microsoftonline.com/geomobilestage.onmicrosoft.com/v2.0/。知名/openid-配置?p=b2c_1_login_signin 但URL返回404错误。但当我尝试以下URL读取配置时,我收到http状态200 https://geomobilestage.b2clogin.com/geomobilestage.onm
目前正在开发web应用程序(Spring)。尝试为应用程序设置引导测试表,并将各种主题应用于该表。然而,似乎无法定位引导。我不知道这是一个简单的“我输入了错误的路径”问题,还是一个更大的设置问题。 我的文件布局目前如下: 我尝试了完全限定的名称,只是从资产部分,交换'/'s输入和输出,没有运气。我查看了引导留档,但如果您不使用CDN链接,则没有多少,这是我不能的。 和 除其他外,该表仍然看起来没有
我已经创建了一个AEMServlet。现在我已经用servlet本身创建了OSGi配置(如下所示的数组类型的MULTI_字段),因为它也被定义为服务。现在,我的需求是如何在doGet方法中访问这个osgi配置。下面是servlet的代码。
我正在工作的一个项目在我的业余时间,在这个项目我已被要求与Spring靴工作。我以前对Spring Boot并不熟悉,我试着在stackoverflow和Google上搜索这里,但我似乎无法理解针对我的问题的不同解决方案是如何工作的。 首先,这是我的错误信息: com.project.example.controller.VerverController中的构造函数参数0需要类型为“com.pro