springboot和springmvc的关系?
springboot是springmvc的升级版,两者没有必然的联系,
springboot的特点:
1、简化配置
2、下一代框架
3、入门级微框架
spring为微服务提供了一整套的组件 统称为springcloud
springboot是建立在springcloud的基础之上
1、第一个springboot程序
2、自定义属性配置文件
3、Controller的使用
4、spring-data-jpa(重点)
5、事务管理
需要掌握以下知识:
1、利用maven构建项目 http://www.imooc.com/learn/443
2、spring注解
3、restful api http://www.imooc.com/learn/196
解决springboot二次运行时,端口被调用问题
第一种方法:点击停止程序(红色方框),然后重启
第二种方法:在pom.xml配置两个依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.8.RELEASE</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
在项目后面会有[devtools]标记 每次修改程序保存后会自动重启
springboot配置文件的几种方式:
application.properties
application.yml:
注解:
@Value 配置内容的注入
对象注入注解
@Component
@ConfigurationProperties
@RestController=@Controller+@ResponseBody(如果没写@ResponseBody会报500)
Spring-Data-Jpa:JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate,TopLink等
@Entity 放在类上面
下面两个放在主键属性上面
@Id
@GeneratedValue
这三个注解会在数据库自动创建一张表
spring.jpa.hibernate.ddl-auto: create 每次启动都会创建一个新的空表,如果存在表,会先删除这张表在创建一个新的表
update:重新启动的时候,原来的数据保留
@PathVariable和@requestParam的区别
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。@requestParam不能