给定一个类:
class MyConfiguration {
@Bean
String bean() {
return new String();
}
}
您可能注意到它没有@Configuration
注释。
我如何使它表现得像有@Configuration
注释,但不添加它?
@Bean
注释不应在精简模式下工作,https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Bean.html
比如:
@Configuration
class MainConfiguration {
@Bean
MyConfiguration myConfiguration() {
MyConfiguration myConfiguration = do_some_spring_magic();
// myConfiguration behaving like it's having @Configuration here
return myConfiguration;
}
}
我不明白你在这里试图实现的用例是什么...但是如果您正在寻找以编程方式将bean注册到Spring上下文中,那么您可以按照下面的方式进行。
@Configuration
public class MyBeanRegisterFactory implements BeanDefinitionRegistryPostProcessor, PriorityOrdered {
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanRegistry) throws BeansException {
//depending on some condition you can do the below line
beanRegistry.registerBeanDefinition("myBeanClass", new RootBeanDefinition("com.mybean.MyBeanClass"));
}
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}
}
在你的例子中,类MyConfiguration中的bean定义可以通过编程方式注册到Spring上下文中。
http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/support/BeanDefinitionRegistryPostProcessor.html
我在logback.xml中定义了一个logback appender,它是一个DB appender,但是我想知道是否有任何方法可以使用我自己定义为bean的连接池在java中配置appender。 我发现了类似的事情,但从来没有真正的答案。
如何在Spring Boot应用程序中设置活动配置文件。该应用程序将部署在独立的Tomcat中。 我有2个属性文件应用程序-{profile}。属性。
问题内容: 说我有两个JavaBeans 和。 如果创建一个Person对象的列表,我想编组成这样的东西: 可以使用这里描述的技术: 使用JAXB解组/编组List 通过使用和注释JaxbList,可以将其编组为上述XML。 但是,能够重用相同的类来封送对象列表也很好。实际上,我将有许多其他类型的bean。我可以这样: 但是,理想情况下,最好用类名的复数形式替换“列表”,用类名替换“ item”。
什么是最简单的方法,以获得Spring引导好,但不试图自动配置所有的东西?例如,要只使用我们已经配置的属性(一些通过Consul+Spring Cloud加载)运行flyway,我希望可以做一些类似的事情: 并且让main方法只调用 这样做的问题是,它会拾取所有的组件扫描/其他依赖项的长列表。任何具体配置依赖项的方法(但仍然获得框架的nicities)
问题内容: 我在logback.xml中定义了一个logback附加程序,它是一个数据库附加程序,但是我很好奇是否有任何方法可以使用定义为bean的我自己的连接池在java中配置附加程序。 我发现类似的事情,但没有实际答案。 问题答案: 这是一个对我有用的简单示例(请注意,在此示例中我使用FileAppender)
我正在尝试使用我自己的应用程序实现或扩展的ResourceConfig或PackageResourceConfig来配置我的Jersey应用程序。因此,我的第一次尝试是将现有的web.xml(实际上,由于开发的库性质,我使用的是web-fragment.xml)配置移植到MyApplication实现。 当我使用第二个版本时,我会收到以下信息 正如您所看到的,是第一个注册的类,但由于它不是公共的,