我有一个关于Spring注释配置的问题。我有一颗豆子:
@Bean
public ObservationWebSocketClient observationWebSocketClient(){
log.info("creating web socket connection...");
return new ObservationWebSocketClient();
}
@Autowired
Environment env;
createWebsocket=true/false
虽然我没有使用过这个功能,但似乎可以通过Spring4的@condition
注释来实现。
首先,创建一个Condition
类,其中的ConditionContext
可以访问Environment
:
public class MyCondition implements Condition {
@Override
public boolean matches(ConditionContext context,
AnnotatedTypeMetadata metadata) {
Environment env = context.getEnvironment();
return null != env
&& "true".equals(env.getProperty("createWebSocket"));
}
}
然后对bean进行注释:
@Bean
@Conditional(MyCondition.class)
public ObservationWebSocketClient observationWebSocketClient(){
log.info("creating web socket connection...");
return new ObservationWebSocketClient();
}
编辑spring-boot
注释@conditionalonproperty
已经实现了这一点;用于评估它的条件
的源代码可以在这里的github上为感兴趣的人提供。如果您发现自己经常需要这种功能,那么最好使用类似的实现,而不是进行大量的自定义condition
实现。
有没有办法在刷新Spring上下文后找出bean创建顺序(或至少依赖顺序)? 只要简单的bean定义顺序就可以了。我不想要他们注册的顺序。我想要创建它们的顺序(依赖关系树)
问题内容: 我有一个关于Eclipse,Wicket,Spring,Hibernate的项目。一切正常,除了:当我尝试 服务变量为空?在我使用此构造的任何其他地方,“ service”都不为null且运行良好。请帮我解决这个问题。 问题答案: @SpringBean仅在Component的任何子类中起作用。 您需要在构造函数中执行以下操作 小门1.4 小门1.5+ 参见“通用IDataProvid
我想制作一个AngularJS Spring MVC Hibernate MySQL应用程序。我不知道如何配置SpringBean,这样我就可以对我的存储库和实体类使用自动连接的注释。 pom.xml依赖: 实体类: 的存储库: 的控制器: 配置类:
问题内容: 我有下面的数据框: 我想向数据框添加另一列(或生成一系列),该列与数据框的长度相同,如果Set =’Z’则将颜色设置为green ,如果. 最好的方法是什么? 问题答案: 如果你只有两种选择: 例如, 输出 如果你有两个以上的条件,请使用。例如,如果你想成为 when otherwise when otherwise when otherwise , 然后使用 输出:
我有一个这样的数据集 我想创建列(visit_no)。每当间隙大于1时,我们需要在接下来的行中将visit_no值增加1,直到我们找到另一个值,它将保持不变 这是数据框架
做这件事最好的方法是什么?