1. SpringBoot+jpa学习笔记一:SpringBoot+jpa+Maven框架搭建
1.1. 扩展知识
GroupId,ArtifactId是什么 GroupId,ArtifactId
1.2. 框架搭建步骤(IDE编译器)
创建Maven框架 配置Maven框架 引入springBoot的pom.xml 添加springBoot项目的启动文件xxxxApplication.java
1.3. 创建SpringBoot+Maven框架
File–>new–>project–Maven
配置Maven框架:file–>setting–>Build,Execution,Deployment–>Build Tools–>Maven
引入springBoot的pom.xml,相当于添加springBoot的jar包
springBoot是别人的开源项目,相当于一层封装,我们引入springBoot框架方便了开发,要引入这个框架就要引入别人的jar包,因此在pom.xml中引入别人的jar包。 进入spring.io官网,点击project,点击springBoot项目,进入搜索pom.xml将其内容copy过来参考 注意不要全部copy,要copy需要导入的jar包 添加springBoot项目的启动文件xxxApplication.java
这个一般只有一个方法,就是run()方法。这是一个启动方法
@RestController
@SpringBootApplication
public class SpringBootApplicationDemo {
@RequestMapping ( value= "/index" )
public String index ( ) {
return "this is my fist demo" ;
}
public static void main ( String[ ] args) {
SpringApplication. run ( SpringBootApplicationDemo. class , args) ;
}
}
添加jdk,以及配置
要建立一个package将xxxApplication.java置于该包下,如果不建立包就会报错。
-Dspring.output.ansi.enabled=ALWAYS
项目打包
注意:第一次打包如果网络不通,可能会报错。因为需要下载一些打包需要的接口组件。 至此springBoot项目搭建完成,至于Jpa接口,是在springBoot项目内的一个引用,只需要引用依赖包,即可。
1.4. 配置Jpa+hibernate接口
在pom.xml引入相应的jar包
上面已经引入了springBoot的web,parent,jar包,和maven插件,这里还需要引入springBoot的test的jar包
< dependency>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-starter-test</ artifactId>
< scope> test</ scope>
</ dependency>
引入springBoot-jpa的jar包
< dependency>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-starter-data-jpa</ artifactId>
</ dependency>
引入springCloud的服务端和注册端
这个我暂时还不是太理解,不多说了,后期会说。这个类似于dubbo和zookeeper的情况。参考文档
< properties>
< java.version> 1.8</ java.version>
< spring-cloud.version> Greenwich.SR1</ spring-cloud.version>
</ properties>
< dependency>
< groupId> org.springframework.cloud</ groupId>
< artifactId> spring-cloud-starter-netflix-eureka-client</ artifactId>
</ dependency>
< dependency>
< groupId> org.springframework.cloud</ groupId>
< artifactId> spring-cloud-starter-netflix-eureka-server</ artifactId>
</ dependency>
< dependencyManagement>
< dependencies>
< dependency>
< groupId> org.springframework.cloud</ groupId>
< artifactId> spring-cloud-dependencies</ artifactId>
< version> ${spring-cloud.version}</ version>
< type> pom</ type>
< scope> import</ scope>
</ dependency>
</ dependencies>
</ dependencyManagement>
配置热部署,就是改动代码后不用重启。
< dependency>
< groupId> org.springframework.boot</ groupId>
< artifactId> spring-boot-devtools</ artifactId>
< optional> true</ optional>
</ dependency>
配置mysql驱动包
< dependency>
< groupId> mysql</ groupId>
< artifactId> mysql-connector-java</ artifactId>
< version> 5.1.25</ version>
</ dependency>
引入apache.poi(导出excel),eBean(实体类与数据库映射),h2.database(spring集成的数据库,一般不用)
< dependency>
< groupId> org.apache.poi</ groupId>
< artifactId> poi</ artifactId>
< version> 3.15</ version>
</ dependency>
< dependency>
< groupId> org.apache.poi</ groupId>
< artifactId> poi-ooxml</ artifactId>
< version> 3.15</ version>
</ dependency>
< dependency>
< groupId> cn.afterturn</ groupId>
< artifactId> easypoi-base</ artifactId>
< version> 3.2.0</ version>
</ dependency>
< dependency>
< groupId> io.ebean</ groupId>
< artifactId> ebean</ artifactId>
< version> 11.6.1</ version>
< scope> test</ scope>
</ dependency>
< dependency>
< groupId> com.h2database</ groupId>
< artifactId> h2</ artifactId>
< version> 1.4.195</ version>
</ dependency>
maven的pom.xml需要配置插件防止java中的文件加载不进来
< resources>
< resource>
< directory> src/main/resources</ directory>
< includes>
< include> **/*.properties</ include>
< include> **/*.xml</ include>
< include> **/*.tld</ include>
</ includes>
< filtering> false</ filtering>
</ resource>
< resource>
< directory> src/main/java</ directory>
< excludes>
< exclude> **/*.java</ exclude>
</ excludes>
</ resource>
</ resources>
1.5. 配置resource中的application.properties
SpringBoot配置文件application.properties详解
#应用程序名称
spring.application.name=herater
#配置服务启动端口
server.port=5566
#配置Eureka注册中心的地址
eureka.client.service-url.defaultZone = http://localhost:8761/eureka/
#对于euraka-server而言,在application.properties或yml中需要配置作用在于只把当前程序当做eureka-server 而不充当eureka-client的角色
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
#注册mysql驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#配置mysql连接url
spring.datasource.url=jdbc:mysql://xxxxxx:3306/springboot?characterEncoding=utf-8&useOldAliasMetadataBehavior=true
#配置mysql登录用户名
spring.datasource.username=root
#配置mysql登录密码
spring.datasource.password=123456
#配置hibernate的实体映射命名策略比如:@Column(name="")等,这个实现mysql与实体类直接的映射
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
#hibernate的数据库生成策略
spring.jpa.hibernate.ddl-auto=update
#debug=true
#配置操作数据库时显示sql语句
spring.jpa.show-sql=true
#配置对数据格式化
spring.jpa.hibernate.format_sql=true
#配置缓存,关闭缓存用于开发人员,修改html后不需要再重新运行
spring.thymeleaf.cache=false
#配置数据库引擎
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
1.6. 参考文档
idea配置springBoot框架 使用 Spring Boot 2.0,Eureka 和 Spring Cloud 的微服务快速指南 Spring Boot (五)Spring Data JPA 操作 MySQL 8