当前位置 主页 > 服务器问题 > Linux/apache问题 > 最大化 缩小
四 运行
windows下运行结果如下:
Windows 10系统下的列表命令为: dir
五 扩展
如果把LinuxCondition条件改成和WindowsCondition一样的条件会怎样呢?即有两个条件都匹配会怎样呢?
修改后的代码如下:
public class LinuxCondition implements Condition { public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return context.getEnvironment().getProperty("os.name").contains("Windows"); } }
修改后再运行,报错了:
Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.wisely.highlight_spring4.ch3.conditional.ListService] is defined: expected single matching bean but found 2: linuxListService,windowsListService
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:365)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:331)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:968)
at com.wisely.highlight_spring4.ch3.conditional.Main.main(Main.java:11)
报错信息很明显:
[com.wisely.highlight_spring4.ch3.conditional.ListService] is defined: expected single matching bean but found 2: linuxListService,windowsListService
匹配到了两条,所以针对条件判断,设计程序时,只能匹配上一条,否则会抛异常。
更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。