2016-11-20 9 views
0

私は春のブートに問題があります。 h2データベースが動作するかどうかを確認するための簡単なプロジェクトの例を作成しました。結果は機能しません。 私が間違っていることを見ていただけますか?設定春のブートプロジェクト

データベース

public class DatabaseInit implements CommandLineRunner { 

    @Autowired 
    private UserRepository userRepository; 

    @Override 
    public void run(String... arg0) throws Exception { 

     userRepository.save(new User("Aonso")); 
     userRepository.save(new User("Jordan")); 
    } 
} 

コントローラ

@Controller 
public class DemoController { 

    @Autowired 
    private UserRepository userRepository; 

    @RequestMapping("/users") 
    public Collection<User> getUsers(){ 
     return this.userRepository.findAll(); 

    } 

} 

User.java

@Entity 
public class User { 

    @Id 
    @GeneratedValue 
    private long id; 

    private String name; 

    public User(){} 

    public User(String name){ 
     this.name = name; 
    } 

    public long getId() { 
     return id; 
    } 

    public void setId(long id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

UserRespository

public interface UserRepository extends JpaRepository<User, Long> { 

} 

アプリケーション

@SpringBootApplication 
public class DemoApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(DemoApplication.class, args); 
    } 
} 
+1

実際のプロジェクトを共有すれば、それを実行して何が間違っているかを見ることができます。ペーストしたすべてのコードは大丈夫ですが、最も重要なものを貼り付けるわけではありません:エラーは何ですか? –

+0

ありがとう、ここでプロジェクトをダウンロードすることができます:https://www.dropbox.com/sh/qr29232jif8bbqb/AADLMgM7uszGjxHXYKhrqLLHa?dl=0 – CSantos

答えて

0

プロジェクト用に複数のパッケージ構造を作成しています。 @SpringBootApplicationcom.example、コントローラはdemo.controllersです。 Spring Bootは、別の方法で構成されていない限り、パッケージとすべてのサブパッケージでクラスパススキャンを有効にします。あなたのコントローラは見つかりません(Springブートがクラスパス全体のスキャンを開始する理由はありません)。

今月Devoxxに寄稿した大学セッションで実際にこれを説明していますので、want to check it out(コンポーネントのスキャンの説明については5:00をチェックしてください)。

関連する問題