2015-05-24 75 views
5

我正在開發,它使用了一些春天的數據存儲庫接口春季啓動應用程序:春天開機自動連接找到另一個包

package test; 
@SpringBootApplication 
public class Application implements CommandLineRunner { 

    @Autowired 
    private BookRepository repository; 
    . . . 
} 

我可以看到BookRepository接口(下文這裏)只能如果注入它在同一個包中的應用類:

package test; 
public interface BookRepository extends MongoRepository<Book, String> { 

    public Book findByTitle(String title); 
    public List<Book> findByType(String type); 
    public List<Book> findByAuthor(String author); 

} 

有沒有春天引導註解我能將我的班能找到另一個包中的BookRepository?

回答

13

使用@ComponentScan註釋一起@SpringBootApplication和配置定製的基本包(您可以指定包名的列表或者其包裝將使用類的列表),因此,例如

@SpringBootApplication 
@ComponentScan(basePackages = {"otherpackage", "..."}) 
public class Application 

@SpringBootApplication 
@ComponentScan(basePackageClasses = {otherpackage.MyClass.class, ...}) 
public class Application 

注意,組件掃描將內部和給定的包下面找到類。

+0

感謝您的幫助! – user2824073

+0

其實這已經過時了。您可以直接在@SpringBootApplication上執行此操作(scanBasePackages = {「...」,「,,,」}) –