TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货JavaSpring-条件注解思维导图

JavaSpring-条件注解思维导图

  收藏
  分享
免费下载
免费使用文件
U913167374 浏览量:02022-11-25 17:18:41
已被使用0次
查看详情JavaSpring-条件注解思维导图

讲述了JavaSpring:条件注解,包括:根据不同操作系统获取不同的bean。

树图思维导图提供 JavaSpring-条件注解 在线思维导图免费制作,点击“编辑”按钮,可对 JavaSpring-条件注解  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:7ed6a746ef778c0d3b56ac6643311424

思维导图大纲

JavaSpring-条件注解思维导图模板大纲

点睛

@Conditional根据满足某一个特定条件创建一个特定的Bean。

示例

1.判断条件定义

(1)判定Windows的条件

package com.wisely.highlight_spring4.ch3.conditional; public class WindowsCondition implements Condition { public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return context.getEnvironment().getProperty("os.name").contains("Windows"); } }

(2)判定Linux的条件

package com.wisely.highlight_spring4.ch3.conditional; public class LinuxCondition implements Condition { public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return context.getEnvironment().getProperty("os.name").contains("Linux"); } }

2.不同系统下Bean的类

(1)接口

package com.wisely.highlight_spring4.ch3.conditional; public interface ListService { public String showListCmd(); }

(2)Windows下所要创建的Bean的类

package com.wisely.highlight_spring4.ch3.conditional; public class WindowsListService implements ListService { @Override public String showListCmd() { return "dir"; } }

(3)Linux下所要创建的Bean的类

package com.wisely.highlight_spring4.ch3.conditional; public class LinuxListService implements ListService{ @Override public String showListCmd() { return "ls"; } }

3.配置类

package com.wisely.highlight_spring4.ch3.conditional; @Configuration public class ConditionConifg { @Bean @Conditional(WindowsCondition.class) //1 符合Windows条件则实例化windowsListService。 public ListService windowsListService() { return new WindowsListService(); } @Bean @Conditional(LinuxCondition.class) //2 符合Linux条件则实例化linuxListService。 public ListService linuxListService() { return new LinuxListService(); } }

4.运行

package com.wisely.highlight_spring4.ch3.conditional; public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ConditionConifg.class); ListService listService = context.getBean(ListService.class); System.out.println(context.getEnvironment().getProperty("os.name") + "系统下的列表命令为: " + listService.showListCmd()); } }

输出

windows系统:Windows8.1系统下的列表命令为:dir

Linux系统:Linux系统下的列表命令为:ls

相关思维导图模板

如何做好IT软件项目建设方案的编制思维导图

树图思维导图提供 如何做好IT软件项目建设方案的编制 在线思维导图免费制作,点击“编辑”按钮,可对 如何做好IT软件项目建设方案的编制  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:03bf9c045cf768b6b89cc8908bd9d86c

汽车质押贷款产品方案思维导图

树图思维导图提供 汽车质押贷款产品方案 在线思维导图免费制作,点击“编辑”按钮,可对 汽车质押贷款产品方案  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:116f2a7c236c6c94c82fe11f4e9d41fe