我正在使用 @Configuration
配置 cookie,而在我的项目中有 2 个包,我只想将配置应用于其中一个包。
有什么办法可以为@Configuration
设置目标包吗? ?
封装结构:
- 应用程序
----包A
------MyConfigClass.java
----包B
@EnableJdbcHttpSession(maxInactiveIntervalInSeconds = 1800)
@Configuration
public class MyConfigClass extends WebMvcConfigurerAdapter {
@Bean
public CookieSerializer cookieSerializer() {
// I want the follow cookie config only apply to packageA
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("myCookieName");
serializer.setCookiePath("/somePath/");
return serializer;
}
}
最佳答案
其实你可以用@ComponentScan
指定要扫描的包和 @EnableAutoConfiguration
使用 exclude 选项来省略要省略的类。您必须在主应用程序类中使用它。
@EnableAutoConfiguration(exclude = { Class1.class,
Class2.class,
Class3.class },
excludeName = {"mypackage.classname"}))
@Configuration
@ComponentScan(basePackages = { "mypackage" })
public class MyApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(MyApplication.class, args);
}
}
或者,您还可以提供要在配置文件中排除的类。
# AUTO-CONFIGURATION
spring.autoconfigure.exclude= # Auto-configuration classes to exclude.
关于spring-boot - Spring Boot : apply @Configuration to certain package only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103043/