Java 将MySQL连接到Spring Boot REST应用程序
基于Spring站点上的教程,我能够设置一个简单的演示Java 将MySQL连接到Spring Boot REST应用程序,java,spring,Java,Spring,基于Spring站点上的教程,我能够设置一个简单的演示REST应用程序。它工作正常,但我就是不知道如何将它绑定到我的MySQL数据库中。我已将其配置为自动连接,但我知道我缺少一些胶水。我看到过一些关于在Application.java中配置datasourcebean的随机博客文章,但我也读到,使用执行器这一切都应该自动完成。在日志输出中,我的数据库似乎已成功连接,当我使用cURL点击其余端点时,它们工作正常,但根本不与我的MySQL db交互。我是否缺少数据源?如果是这样的话,你能为它的运行提
REST
应用程序。它工作正常,但我就是不知道如何将它绑定到我的MySQL数据库中。我已将其配置为自动连接,但我知道我缺少一些胶水。我看到过一些关于在Application.java
中配置datasource
bean的随机博客文章,但我也读到,使用执行器这一切都应该自动完成。在日志输出中,我的数据库似乎已成功连接,当我使用cURL
点击其余端点时,它们工作正常,但根本不与我的MySQL db
交互。我是否缺少数据源
?如果是这样的话,你能为它的运行提供指导吗?谢谢
代码非常简单:
Application.java
套餐你好
import ...
@Configuration
@EnableJpaRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
@ComponentScan
@PropertySource("classpath:application.properties")
public class Application
{
public static void main(String[] args)
{
SpringApplication.run(Application.class, args);
}
}
User.java
package hello;
import javax.persistence.*;
@Entity
@Table(name = "user")
public class User
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String username;
public User()
{
}
public User(long id, String username)
{
this.id = id;
this.username = username;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
}
UserRepository.java
package hello;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends PagingAndSortingRepository<User, Long>
{
}
您不需要@PropertySources
、@enablejparepositions
和@Import(RepositoryRestMvcConfiguration.class)
,因为当检测到Spring数据JPA和Spring数据REST时,Spring引导已经为您处理了这些。(这就是@EnableAutoConfiguration
的作用)
指定url、用户名和密码就足够了(如果您使用的是SpringBoot1.1.x)
最后,请确保您的类路径上没有或没有,因为这些将自动检测到,并且可能会覆盖您的数据库设置
我看到过一些关于在Application.java中配置数据源bean的随机博客文章,但我也读到,使用执行器应该可以自动完成这一切
自动配置与执行器无关(仅用于Spring安全、度量和管理),而是与Spring Boot的自动配置部分有关。尝试通过查询参数将SSL设置为false,以防仍然不起作用<代码>spring.datasource.url=jdbc:mysql://localhost/chrdb?verifyServerCertificate=false&useSSL=false&requireSSL=false
spring.datasource.url=jdbc:mysql://localhost:3306/chrdb
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driverClassName=com.mysql.jdbc.Driver
import ...
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
spring.datasource.url=jdbc:mysql://localhost:3306/chrdb
spring.datasource.username=root
spring.datasource.password=