@MapperScan(basePackages = {"com.zscat.*.dao","com.zscat.*.*.dao"})
@EnableTransactionManagement(proxyTargetClass = true) @SpringBootApplication @MapperScan(basePackages = {"com.zscat.*.dao","com.zscat.*.*.dao"}) public class ShopServiceApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(ShopServiceApplication.class); application.run(args); } }
Spring Boot スタートアップ クラスにアノテーションを追加し、jar パッケージでインターフェイス ファイル パッケージ パスを指定するだけで済みます。 .
@MapperScan(basePackages = "com.xx.**.dao")
@Controller および @EnableAutoConfiguration アノテーションを使用する場合は、別のアノテーション @ComponentScan も追加する必要があります。
@Controller と @EnableAutoConfiguration にはアノテーションをスキャンする機能がなく、@ComponentScan は
springboot は @Component、@Service、@Repository、@Controller のスキャンに特別に使用されます
スプリングブートを使用してクラス構成スキャンを開始するための 2 つのアノテーション構成メソッド:
1、@Controller
@EnableAutoConfiguration @ComponentScan
2, @SpringBootApplication
@SpringBootApplication アノテーションは、@Configuration、@EnableAutoConfiguration、および @ComponentScan
In と同等です。さらに、Service と DAO をスキャンできるように、公式の推奨に従って application.java (Startup クラス) もルート ディレクトリに配置する必要があります。そうしないと、アノテーションをスキャンできないという問題が発生します。
--- 更新日: 2018-10-14 ---
最近、最新の springboot 2.0.5.RELEASE バージョンを使用しました。新しいスキャン アノテーションが追加されました。新しいバージョンのspringboot アプリケーションは任意の場所に配置できます。
@ComponentScan(basePackages = {"com.oskyhang", "com.frames"})
アノテーションを追加するだけです。アノテーションでスキャンするパッケージを指定すると、スキャンできるようになり、より柔軟で便利になります。
以上がspringBoot mybatis パッケージのスキャン問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。