SpringBoot和SpringDataJPA

来源:互联网 发布:linux xhost没反应 编辑:程序博客网 时间:2024/06/05 05:58

慕课网的廖师兄说,如果你是一个程序员,使用了SpringBoot这个技术之后,女朋友都会夸你,因为它带来了很多简便的好处:
* 编码将变得简单
* 配置将变得简单
* 部署将变的简单
* 监控将变得简单
不用多久你就能升职加薪,迎娶白富美,走向人生的巅峰,哈哈哈哈哈哈

一、简介

1.简介

SpringBoot是一个全新的框架,由Pivotal团队提供,设计目的:用来简化心Spring应用的初始搭建以及开发过程。框架使用了特定的方式来进行配置,从而是开发人员不再需要去定义样板化的配置。

个人认为SpringBoot最大的功效就是简化了搭建环境的很多配置,第二就是在Controller的使用上,引进了新的注解内容,是开发更加方便简洁高效。

2 .特点

SpringBoot是Springmvc的升级版,没有必然的联系
特点:
(1)配置简单;(2)微服务框架;(3)是下一代框架

3.项目的属性配置

3.1.创建项目之后,先配置maven,

<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-jpa</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>

3.2.main函数存在的启动类上,需用@SpringBootApplication注解,
3.3.application.yml文件和application.property文件的区别
很简单:就是前者将后者中的共有信息提取出来,不重复写,以树状结构的形式出现
(冒号后的空格必须有!):

server:  prot: 8081  context-path: /girl

3.4.开发环境和生产环境不同的问题:

Spring:    profiles:        active:dev(或者active:prod,两者选其一)

4.controller中注解的使用简介:

@Controller: 使浏览器能够访问到,处理http请求
@RestController: Spring4之后的新家注解,是@ResponseBody和@Controller的组合注解
@Requestmapping:配置url映射,希望用户能通过URL访问到我们服务器写的方法。
@PathVariable: 获取url中的数据进行参数绑定
@RequestParam:获取请求参数的值(value=”“,required=true)
@GetMapping:是@RequestMapping的组合注解。

二.数据处理—-SpringDataJPA

1.先来认识一下什么是SpringDataJPA:

(1)JPA:java persistence API 定义了一系列的对象持久化标准

2.为什么要使用SpringDataJPA?

它极大的简化了数据库访问层的代码,只需要三步,就能轻松搞定一切~
* 编写Entity实体类,依照JPA的规范,定义实体
* 编写Repository接口,依靠SpringData规范,定义数据访问接口(不要任何实现)
* 在maven中添加jar包依赖
* 在.yml文件中配置mysql驱动和数据库以及SpringDataJPA。

3.如何配置项目属性

(1)maven中添加包的依赖 (见文章 3.1)
(2).yml文件设置:

jpa:    hibernate:      ddl-auto: update      naming:        strategy: org.hibernate.cfg.ImprovedNamingStrategy     show-sql: true

ddl-auto:create 表示在运行时候自动创建
ddl-auto:update 表示在第一次运行时创建表,而后期的运行则只会更新表的内容而不删除表原有的属性和数据
ddl-auto:create-drop 当应用停止的时候就删除表
ddl-auto:none 在运行时什么都不做
ddl-auto:validate 会验证类中的属性和表结构是否一致,不一致就会报错
show-sql: true 在控制台输出sql语句,方便调试

4.是如何利用SpringDataJPA在运行时创建表的?

(1)被@Entity注册的实体类
(2)在实体类中被@Id @GeneratedValue注解的 自增的主键id
(3)实体类中的set和get方法
(4).yml文件中的 ddl-auto:create 运行时创建
还有其他关于数据库的正常配置,满足这些条件,在项目启动的时候,会自动创建对应的数据表。

三.事务处理

@Transactional 是操作具有事务特性
遵循事务的三大原则:同一性,原子性,一致性,持久性

下一篇 将详细介绍一下 SpringDataJPA的相关知识