我如何才能知道作为SpringBoot应用程序的一部分加载的所有bean的名称?我想在main方法中有一些代码来打印服务器启动后加载的bean的详细信息。 最佳答案 如spring-boot入门指南所示:https://spring.io/guides/gs/spring-boot/@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}
我想知道Spring单例bean是否是线程安全的,如果是,那为什么,如果不是,那为什么?由于我是spring的初学者,因此将不胜感激。 最佳答案 没有。这两个概念甚至没有关系。单例是关于创造。这种设计模式确保只创建一个类的一个实例。线程安全与执行有关。报价Wikipedia:Apieceofcodeisthread-safeifitonlymanipulatesshareddatastructuresinamannerthatguaranteessafeexecutionbymultiplethreadsatthesametime.
在java-springweb-app中,我希望能够动态注入(inject)bean。例如,我有一个具有2个不同实现的接口(interface):在我的应用中,我使用一些属性文件来配置注入(inject):#Determinestheinterfacetypetheappuses.Possiblevalues:implA,implBmyinterface.type=implA我的注入(inject)实际上是根据属性文件中的属性值有条件地加载的。例如,在这种情况下,myinterface.type=implA无论我在哪里注入(inject)MyInterface,将被注入(inject)
我有一个beanB我必须自己创建(使用newB())并且它有@Autowire和@PostConstruct注释。如何让Spring从我的beanA处理这些注解?相关问题:InSpring,canIautowirenewbeansfrominsideanautowiredbean? 最佳答案 Aaron,我相信您的代码是正确的,但我使用了以下代码:Bbean=newB();AutowireCapableBeanFactoryfactory=applicationContext.getAutowireCapableBeanFactor
我在我的网络应用程序中使用延迟加载和hibernate。我想在服务器响应的解析阶段从数据库中加载一些对象@ComponentpublicclassDesignSerializerextendsJsonSerializer{@AutowiredIDesignServicedesignService;}这是完全可以理解的,因为DesignSerializer正在使用每个对象的“new”运算符进行实例化。我确信有一种方法可以在创建bean时将它注入(inject)到该序列化程序中,我只是不知道如何。你们能帮我或指出正确的方向吗? 最佳答案
我正在编写一个实现以下方法的类:publicvoidrun(javax.sql.DataSourcedataSource);在此方法中,我希望使用类似于以下的配置文件来构造一个Spring应用程序上下文:是否可以强制Spring使用传递给我的方法的DataSource对象,只要配置文件中引用了“dataSource”bean吗? 最佳答案 我也遇到过同样的情况。由于没有人提出我的解决方案(而且我认为我的解决方案更优雅),我会在这里为后代添加它:-)解决方案包括两个步骤:创建父ApplicationContext并在其中注册您现有的b
在将其标记为重复之前的请求。我浏览了论坛,在任何地方都找不到问题的解决方案。我正在使用Spring3.2编写代码,所有内容都纯粹基于注释。该代码接收从不同XSD文件派生的XML文件。所以我们可以说,有五种不同的XSD(A1、A2、A3、A4、A5),我的代码接收任何类型的XML,并且我有逻辑在到达时识别XML的类型。现在,我正在尝试使用SpringOXM取消编码这些内容。但是因为涉及到多个XSD,我们实际上不能使用一个Un-marshaller。所以我们需要大约五个。在Configuration类中,我添加了五个bean,如下所示:@Bean(name="A1Unmarshaller"
在我的Spring-Boot-App中,我想根据(未)加载的spring-profiles有条件地声明一个Bean。条件:Profile"a"NOTloadedANDProfile"b"NOTloaded到目前为止我的解决方案(有效):@Bean@ConditionalOnExpression("#{!environment.getProperty('spring.profiles.active').contains('a')&&!environment.getProperty('spring.profiles.active').contains('b')}")publicMyBean
这是针对这些类型问题的广泛规范问答帖子。我正在尝试编写一个SpringMVCWeb应用程序,用户可以在其中将电影名称添加到内存集合中。它是这样配置的publicclassApplicationextendsAbstractAnnotationConfigDispatcherServletInitializer{protectedClass[]getRootConfigClasses(){returnnewClass[]{};}protectedClass[]getServletConfigClasses(){returnnewClass[]{SpringServletConfig.cl
考虑以下SpringService类。定义的Spring范围是单例。自动连接为以下类中的字段的两个服务bean具有相似的结构-它们也由以下任一字段组成Springbean本身无状态类不可变类等等。这种模式在应用程序设计中普遍使用。@ServicepublicclassDocumentService{privatefinalDocumentGenerationServicedocumentGenerationService;privatefinalDocumentPublishServicedocumentPublishService;@AutowiredpublicDocumentSe