package com.maple.testpackage; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Configuration; @Configuration public class CustomScan implements CommandLineRunner{ @Override public void run(String... args) throws Exception { System.out.println("CustomScan.run()"); } }
package com.maple.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Import; import com.maple.springboot.config.CustomSettings; import com.maple.springboot.config.MapleSettings; import com.maple.springboot.util.SpringUtil; @SpringBootApplication @ServletComponentScan @Import(value={SpringUtil.class}) @ComponentScan(basePackages={"com.maple.springboot","com.maple.testpackage"}) @EnableConfigurationProperties({CustomSettings.class,MapleSettings.class}) public class App { public static void main(String[] args) { Class<?>[] c = {App.class}; SpringApplication.run(c, args); } }
App.java 類的package 是com.maple.springboot 因此默認掃描是這個package 下的。若是還想掃描com.maple.testpackage須要添加以下註解 @ComponentScan(basePackages={"com.maple.springboot","com.maple.testpackage"})java