Spring Boot 官方默认controller包需要和启动类同级,但正常开发这样做有些不规范,因此需要通过其他方式将Controller及启动类进行分离。
解决办法是在启动类上添加@ComponentScan注解:
@ComponentScan(basePackages = {"项目路径"})
这里举例,假设这里项目路径如下:
这里@ComponentScan可以加在启动类上:
package com.aron.asdream;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.aron"})//通过扫描本路径可不需将ctl包和启动类放在同一目录下
public class ProjectMainEntranceApplication {
public static void main(String[] args) {
SpringApplication.run(ProjectMainEntranceApplication.class, args);
}
}