某个功能例如RedissUtils、mqTemplate等,具有公用性的类,可以放到公共模块,但是总有一两个服务是不需要这个功能的,这样为了避免项目中引入无用的jar包,需要根据项目中有没有某个jar判断是否开启该功能可以用@ConditionalOnClass注解解决,直接判断有没有该jar下的某个关键类,代码如下:
public class A {
}
public class B {
}
/**
* 如果存在B类,实例化A类。如果不存在B类,则不实例化A类。
*/
@ConditionalOnClass(B.class)
@Configuration
public class TestConfiguration {
@Bean
public A a() {
return new A();
}
}
本文介绍了如何利用Spring框架的@ConditionalOnClass注解来优化项目中的类加载,避免引入不必要的jar包。通过判断是否存在特定类来决定是否启用某个功能,如RedissUtils或mqTemplate,从而提高项目的模块化和效率。
1092





