Aar*_*esh 5 java spring external-dependencies autowired spring-boot
我正在尝试将 Spring 4.xx 迁移到 Spring boot,它依赖于外部 spring 2.5 jar 中的类。我已经进行了所有自动装配更改,下面是我的应用程序类
@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan(basePackages = { "com.xyz" })
public class MainApiApplication {
public static void main(String[] args) {
SpringApplication.run(MainApiApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
外部 jar 中的依赖类存在于 com.xyz.abc 包下,因此我将主应用程序类放置在 com.xyz 包下,并在同一包下添加了组件扫描
这是我的组件类,其依赖项已自动装配
@Component
public class ComponentClassA {
@Autowired
private ComponentClassB currencyService;
}
@Component
public class ComponentClassB {
@Autowired
private DependentClass depClass;
}
Run Code Online (Sandbox Code Playgroud)
DependentClass 是我在本地附加和构建的外部依赖 jar 中存在的类
构建应用程序时,所有文件的编译都很好,并且构建成功生成。但是当我启动应用程序时,出现以下错误
Field DependentClass in com.xyz.ComponentClassB required a bean of type 'com.xyz.common.util.DependentClass' that could not be found.
Run Code Online (Sandbox Code Playgroud)
我不明白找不到外部 jar 中的类的原因,因为我已经为包添加了组件扫描
DependentClass的定义如下
public class DependentClass extends ResourceClass<Map<String, Double>> {
// Methods and logic
}
Run Code Online (Sandbox Code Playgroud)
是因为 DependentClass 正在扩展一个类吗?有人可以帮我找出错误的原因吗?
上面DependentClass没有@Component注释。DependentClass因此,您需要通过 XML 或 Java 配置创建您自己的 bean 。
并且没有必要将主类放在与 相同的包下DependentClass。
| 归档时间: |
|
| 查看次数: |
41000 次 |
| 最近记录: |