If you read my previous (35) article this article will be very simple, no challenge.
So let's first talk about this article we will learn the technical point: Spring Data jpa,spring Boot using mysql,spring mvc,ehcache,spring cache, etc. (where @cacheable see a section of theoretical knowledge), Here are a few steps:
(1) New maven Java Project
(2) Adding a dependency package to the Pom.xml
(3) Write spring boot boot class;
(4) configuration application.properties;
(5) Write the cache configuration class and the Ehcache.xml configuration file;
(6) Writing Demoinfo entity class for testing;
(7) Writing persistent class demoinforepository;
(8) Write the processing class Demoinfoservice;
(9) Writing Demoinfocontroller test class;
(10) Run the test;
The above is the specific steps, then we follow this step together to achieve it.
(1) New maven Java Project
Create a new Maven Java project named Spring-boot-ehcache.
(2) Adding a dependency package to the Pom.xml
Include the corresponding dependency package in the Pom.xml file, Spring Boot parent node dependent package, Spring boot Web support, cache dependent Spring-context-support, integration Ehcache required dependencies, JPA operations database, MySQL Database-driven, specific Pom.xml files:
<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"
xsi:schemalocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<groupId>com.kfit</groupId>
<artifactId>spring-boot-ehcache</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-ehcache</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--Configure the JDK compilation version. -
<java.version>1.8</java.version>
</properties>
<!--Spring Boot parent node dependency,
After introducing this, the relevant introduction does not need to add the version configuration,
Spring boot will automatically select the most appropriate version to add.
-
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<!--unit tests. -
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!--Spring Boot Web support: Mvc,aop ...-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--
Includes a Support UI template (Velocity,freemarker,jasperreports),
Mail Service,
Scripting Services (JRuby),
Caching cache (EHCache),
Task schedule scheduling (Uartz).
-
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!--integrated Ehcache needs to be dependent--
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
<!--JPA Operations database. -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--MySQL database driver. -
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--Spring Boot unit test. -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
(3) Write spring Boot boot class (Com.kfit.App.java);
Package com.kfit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
*
*
* @SpringBootApplication affirm that spring boot automatically makes the necessary configuration for the program,
*
@SpringBootApplication
Waiting on:
@Configuration
@EnableAutoConfiguration
@ComponentScan
*
* @author Angel (qq:412887952)
* @version v.0.1
*/
@SpringBootApplication
Public class App {
Public static void main (string[] args) {
Springapplication.run (App.class, args);
}
}
(4) configuration application.properties;
The main configuration of database connections and JPA basic configuration in Application.properties is as follows:
Src/main/resouces/application.properties:
########################################################
# # #datasource, MySQL database connection configuration
########################################################
Spring.datasource.url = Jdbc:mysql://localhost:3306/test
Spring.datasource.username = root
Spring.datasource.password = root
Spring.datasource.driverClassName = Com.mysql.jdbc.Driver
Spring.datasource.max-active=20
Spring.datasource.max-idle=8
Spring.datasource.min-idle=8
spring.datasource.initial-size=10
########################################################
# # # Java persistence Api, JPA auto-build table operation configuration
########################################################
# Specify the DBMS
Spring.jpa.database = MYSQL
# Show or not log for each SQL query
Spring.jpa.show-sql = True
# Hibernate DDL Auto (Create, Create-drop, update)
Spring.jpa.hibernate.ddl-auto = Update
# Naming strategy
Spring.jpa.hibernate.naming-strategy = Org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the Entity manager)
Spring.jpa.properties.hibernate.dialect = Org.hibernate.dialect.MySQL5Dialec