原first-springboot采用的是直接导入WebConfig,此该需要将引导类标注@EnableAutoConfiguration,代码如下:
@EnableAutoConfiguration
//@ComponentScan
//@Configuration
//@SpringBootApplication
public class FirstSpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(FirstSpringbootApplication.class, args);
}
}
原WebConfig类标注@SpringBootApplication,又激活了自动装配,现在让它仅作为@Configuration类,代码如下:
@Configuration
//@EnableAutoConfiguration
//@ComponentScan(basePackages = {"com.tyschool"})
public class WebConfig {
@Bean
public HelloController getHelloController(){
return new HelloController();
}
}
创建WebAutoConfiguration自动装配类,代码如下:
@Configuration
@Import(WebConfig.class)
public class WebAutoConfiguration {
}
在项目src/main/resources的目录下新建META-INF/spring.factories资源,并配置WebAutoConfiguration类:
#自动装配
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.tyschool.firstspringboot.config.WebAutoConfiguration