

### 前提・実現したいこと

springbootにてError creating beanが発生していますので、トラブルシュートして起動できるようにしたい。

個人で勉強のため、STSでSpringBootを使用してCRUDシステムを開発しています。  
サーバーを起動しようとすると下記のエラーが発生して、うまくいきません。  
個人で解決できませんでしたので、先達の方にアドバイスを頂けると幸いです。  
宜しくお願い致します。

### 発生している問題・エラーメッセージ

[code]

    Communications link failure
    
    BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource
    
[/code]

### 該当のソースコード

[code]

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/person_db
    spring.datasource.username=root
    spring.datasource.password=
    
[/code]

[code]

    package com.example.person.service;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.example.person.entity.PersonEntity;
    import com.example.person.repository.PersonRepository;
    
    @Service
    public class PersonService {
    
        @Autowired
        private PersonRepository personRepository;
    
        public List<PersonEntity> findAll() {
            return personRepository.findAll();
        }
    
        public PersonEntity findOne(long id) {
            return personRepository.findById(id).orElse(null);
        }
    
        public PersonEntity save(PersonEntity person) {
            return personRepository.save(person);
        }
    
        public void delete(long id) {
            personRepository.deleteById((long) id);
        }
    }
    
[/code]

[code]

    package com.example.person.entity;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.validation.constraints.Max;
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotEmpty;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    
    @Entity
    @Table(name="person")
    public class PersonEntity {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long id;
        @NotEmpty
        private String name;
        @NotNull
        @Min(value = 0)
        @Max(value = 150)
        private int age;
        @Size(max = 20)
        private String belong;
        private String workplace;
    
        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 int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getBelong() {
            return belong;
        }
        public void setTeam(String belong) {
            this.belong = belong;
        }
        public String getWorkplace() {
            return workplace;
        }
    
[/code]

[code]

    <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
              <groupId>nz.net.ultraq.thymeleaf</groupId>
              <artifactId>thymeleaf-layout-dialect</artifactId>
            </dependency>
        </dependencies>
    
[/code]

該当しそうなソースコードのみを挙げています。  
他にもありますので、必要な時はご連絡ください。

### 試したこと

ネットで調べて下記の内容に変更するとトラブルシュートできるとあり、試しましたが解決できませんでした。  
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver  
アノテーションの見直し。

### 補足情報（FW/ツールのバージョンなど）

STS 4.2.0  
SpringBoot  
phpmyadmin


CC BY-SA 4.0
2019-05-03T13:04:50.410
54688
2023-08-17T06:07:30.900
2023-03-10T09:43:00.080
3060
27854
question
java mysql spring-boot
springbootにて「creatingbeanerror」が発生し、起動に失敗する


原因としてあり得るものについては参考リンク先に列挙されていますが、取り敢えず簡単に確認できそうなものとして:

> spring.datasource.url=jdbc:mysql://localhost:3306/person_db

の、 `localhost`を`127.0.0.1`に変更して再度実行してみて下さい。

参考:

  * [Solving a "communications link failure" with JDBC and MySQL - Stack Overflow](https://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql)
  * [com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure - Stack Overflow](https://stackoverflow.com/questions/2983248/com-mysql-jdbc-exceptions-jdbc4-communicationsexception-communications-link-fai)


CC BY-SA 4.0
2019-05-04T21:26:06.223
54725
2019-05-04T21:26:06.223
2808
54688
answer