繁体   English   中英

用于Spring组件扫描的package-info.java

[英]package-info.java for Spring component scan

我需要为Spring组件自动扫描定义一个根包。

我不喜欢将包名称定义为非类型安全字符串的方法。 目前,我在程序包的根目录中放置了人工空的Scannable标记接口,并以类型安全的方式在Spring @ComponentScan批注中使用了它。

但是是否可以出于相同目的在@ComponentScan批注中使用package-info.java

Java中没有语法可以允许您直接直接引用Package对象,因此对问题的简短回答是no

您不能以保证您在编译时安全的方式使用package-info.java来引用软件包。 您只能直接引用Class对象,并通过该Class对象获取其包。 而且您也不能将任何类放入package-info.java中,因为名为package-info.java java源文件应至少包含一个名为package-info的类,但是也不行,因为1) -是不允许作为Java标识符字符,并且2) packageJava语言规范中Java中的保留关键字。

在这种情况下,使用占位符类或接口是正确的解决方案,它为您提供了在这种情况下可以实现的最大保证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM