java - Spring 注解中的动态属性(@ComponentScan)

标签 java spring spring-boot

我的课上有以下 spring header

@Service
@EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.class})
@ComponentScan({"com.package1", "com.package2", "com.package3"})
public class SomeContainer { }

您是否有可能将此包(“com.package1、2、3 等)提取到单独的属性文件中,但保留注释驱动的样式?

最佳答案

之前的发帖人想表达什么,我会澄清一下。我的主要应用类如下所示:

@Import(AppConfig.class)
public class App implements CommandLineRunner {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(App.class, args);
    }

    public void run(String... args) {
        // Do something
    }
}

Appconfig 是这样的:

@Configuration
@ComponentScan(basePackages = "${scan.packages}")
@EnableAutoConfiguration
public class AppConfig {
}

application.properties 文件位于 src/main/resources 文件夹中,它会被自动查找并包含我的 scan.packages 行:

scan.packages=com.mypackage

如果您从 App 类中的 main 方法运行它,一切都将被适本地配置。

希望这对某人有帮助。

关于java - Spring 注解中的动态属性(@ComponentScan),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584267/

相关文章:

java - 通过带注解的 Getter 方法获取 Java 类中的字段

java - 对象数组作为安心中的请求主体

java - 通过 JSON 发送 java.lang.Boolean (Spring Boot)

java - 有什么方法可以注入(inject)依赖项,以便它可以在构造函数中使用吗?

java - 如何使用 CRUDRepository 保存列表但最后提交

java - 如何对来自 AssertJ 的异常消息进行分组以获得更好的报告?

java - 我想读取HDFS上的文件

java - 类路径资源 [classpath* :xxxxx. 属性] 无法打开,因为它不存在

java - Spring boot Autowired 存储库不适用于 SpringRunner 和 JPA 数据

java - Spring Boot 中方法级别的多个缓存实现