【问题标题】:Config Spring boot project配置 Spring Boot 项目
【发布时间】:2016-11-20 21:31:43
【问题描述】:

我的弹簧靴有问题。我创建了一个简单的项目示例来检查 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();

    }

}

用户.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;
    }
}

用户资源库

public interface UserRepository extends JpaRepository<User, Long> {

}

应用程序

@SpringBootApplication
public class DemoApplication {

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

【问题讨论】:

标签: sql spring spring-boot h2


【解决方案1】:

您正在为您的项目创建混合包结构。您的@SpringBootApplication 位于com.example 中,您的控制器位于demo.controllers 中。 Spring Boot 在其包和所有子包中启用类路径扫描,除非配置不同。它不会找到你的控制器(Spring Boot 没有理由开始扫描整个类路径)。

我们实际上是在本月在 Devoxx 举办的一次大学课程中解释了这一点(以及更多内容),因此您可以want to check it out(在 5:00 左右查看组件扫描解释)。

【讨论】:

    猜你喜欢
    • 2020-01-14
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2021-11-23
    • 2016-04-28
    • 2017-03-19
    • 2017-01-04
    相关资源
    最近更新 更多