Spring Boot 入门篇(1)

springBoot的特点

1 化繁为简,简化配置
2.备受关注 是下一代框架
3 微服务 -springcloud是建立在springboot之上的
springboot是下一代框架
springboot是为springcloud打基础
课程包括 controller的使用
spring-data-jpa 事务管理

注意事项:
前置知识:Maven构建项目、spring注解、RESTfulAPI
不需要学习springMVC
Java、Maven 等版本保持一致
启动方式:

idea自动启动
mvn spring-boot:run
mvn install 编译出jar包然后再运行
cd target进入到target目录下
java -jar 文件名girl-0.0.1-SNAPSHOT

一、@ConfiguratioonProperties(prefix=”配置文件中某个vo、pojo型的前缀”)
读取的是application.yml/application.properties中的某个属性的前缀如:

spring.user.name=zx
spring.user.age=12 那么新建一个User类 在类上写上上面的注解

@ConfigurationProperties(profix=”spring.user”)

User类中写上private String name; private Integer age;以及对应的getter和setter方法
在使用的时候,通过@Autowired的方式注入对应的User类对象就可以在调用的时候取得配置文件中对应的属性值
@Autowired
private User user; 就可以通过user的 getter方式获取对应属性
备注:要引用这个形式的注入,需要这个class被@Component或者@Controller注解修饰

二、配置文件application.properties/application.yml中的属性值,可以通过@Value(“${“属性的名”}”)来引用

三、springboot项目的启动方式有三个:

在开发环境中通过内部按钮启动
在项目对应的文件加中,通过DOS,输入mvn spring-boot:run启动
在项目对应的文件夹的target文件夹中,通过Dos,输入 java -jar 项目名开头.jar 的一个文件

四、为了应对多个情况下配置的不同,可以创建一个总的引用配置,多个备用的配置、
总引用配置:application.properties
spring.profiles.active:a 此处的a是方案a配置文件”-“后的a

备用配置a: application-a.properties
spring.girl.cupsize=a
spring.girl.age=18

备用配置b: application-b.properties
spring.girl.cupsize=c
spring.girl.age=18

配合Dos的启动方式 在工程所在文件夹target下
java -jar 文件名.jar –spring.profiles.active:a 后面加上引用方案

@PathVariable 获取url中的数据
@RequestParam 获取请求参数的值
@GetMapping 组合注解
@PathVariable(“id”)对应的是resultful形式中的{}中的属性
如:value=”/say/{id}”

@RequestParam(“id”) Integer MyId对应的是网页访问地址中请求的属性

如:地址栏中的 /say?id=100 这个注解可以让 MyId=100
如果过地址为 /say?id= 则 MyId=null
如果地址为 /say 的形式 ,则会报404

如果想让上述的为空也可以,不写也可以,需要在@RequestParam中添加参数(value=”id”,required=false,defaultValue=”0”),
required=false表示可以为空 defaultValue=”0”默认值为0
这样如果id=或者不写 那么MyId=0 如果写,那就是对应的值

JPA 是 JAVA持久层API 是一系列对象持久化的标准,实现了的产品有hibernate,toplink
要使用数据库需要加入 spring-boot-starter-data-jpa 和 mysql-connector-java 这两个依赖,一个是jpa的支持,一个是mysql的驱动,然后需要在application.yml中加入对数据库和jpa的支持

关于pojp类:

@Entity写在pojo类的上面,表示他对应的数据库中的一个表
@Id 写在主键上面
@GeneratedValue 表示自增长且必须带一个无参数的构造函数,否则报错

关于jpa的配置
show-sql: true 显示sql语句
ddl-auto: create 每次启动时都会重新建表,如果原来存在就删掉再建
ddl-auto: update 每次启动时都会重新新建表,如果原来有就不执行
ddl-auto: create-drop 每次停止应用时都会把表删除
ddl-auto: validate 验证类里面的属性和表结构是否一致,不一致的话会报错
ddl-auto: none 什么都不做
区分spring.jpa.hibernate.ddl-auto=update 和spring.jpa.hibernate.ddl-auto=create区别
如果为create,那么每次启动程序,他都会帮我们重新创建一个该名字的表,如果之前存在,会帮我们先删除掉在重新创建

如果想通过其他方法查询girl,可以自己拓展接口,方法名有讲究的,需要按照jpa的规定写法,findBy+名称·
restFul api 设计
get /girls 获取女生列表
post /girls 创建一个女生
get /girls/id 通过id查询一个女生
put /girls/id 通过id更新一个女生
delete /girls/id 通过id删除一个女生
创建对应类的对应数据访问类,继承于 JpaRepository

@Transactional事务处理注解的使用方法,在serive进行事务处理,只有查询的时候不需要进行事务处理,其他都需要

springBoot:在spring的基础上为了优化开发,自动装配了一些配置,使开发更加方便,特点:1)启动项目时不需要装配到容器再去启动,可以通过run直接启动,或者在命令里输入mvn spring-boot:run启动或者运行java-jar启动,2)切换环境时更方便3) 使用JPA无需写sql4)使用组合注解例如resrconterr5)使用注解控制事物更加方便

猜你喜欢

转载自blog.csdn.net/weixin_39927996/article/details/81870464