searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Spring类加载

2024-07-31 09:49:36
1
0

根据配置决定是否加载

  • Spring中可以根据配置来决定一个类是否加载
  • 比如一个接口有两个实现,那么直接@Autowired是不知道要加载哪个的;
  • 如果在类注册到容器的时候,只注册需要被使用的那个;
  • 那么就可以顺利关联上;
  • 因为只有一个实现类被加载到了Spring容器中;
  • 上代码
@Service
@Slf4j
@ConditionalOnProperty(
        value = {"mozi.grpc.enable"},
        havingValue = "true",
        matchIfMissing = true)
public class HandlerGrpcDeployServiceImpl implements HandlerDeployService {}
  • 可见,只有mozi.grpc.enable = true时,Spring才会将这个实现类加载到容器中;
  • 然后,@Autowired就会自动匹配上接口的这个实现类;
0条评论
0 / 1000
t****n
4文章数
0粉丝数
t****n
4 文章 | 0 粉丝
t****n
4文章数
0粉丝数
t****n
4 文章 | 0 粉丝
原创

Spring类加载

2024-07-31 09:49:36
1
0

根据配置决定是否加载

  • Spring中可以根据配置来决定一个类是否加载
  • 比如一个接口有两个实现,那么直接@Autowired是不知道要加载哪个的;
  • 如果在类注册到容器的时候,只注册需要被使用的那个;
  • 那么就可以顺利关联上;
  • 因为只有一个实现类被加载到了Spring容器中;
  • 上代码
@Service
@Slf4j
@ConditionalOnProperty(
        value = {"mozi.grpc.enable"},
        havingValue = "true",
        matchIfMissing = true)
public class HandlerGrpcDeployServiceImpl implements HandlerDeployService {}
  • 可见,只有mozi.grpc.enable = true时,Spring才会将这个实现类加载到容器中;
  • 然后,@Autowired就会自动匹配上接口的这个实现类;
文章来自个人专栏
个人专栏202407
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0