Spring Boot快速入门
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring boot的特点
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置
Spring Boot 常用注解
Controller注解:
@Controller处理http请求(不常用)
pom注入依赖
<groupId>org.springframework.boot</group>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
return "index"; 返回html
@RestController 返回json请求(原@ResponseBody配合@Controller)
@RequestMapping 配置url映射
请求注解:@RequestMapping(value= "/hello",method=RequestMethod.Get) 可写为@GetMapping(value="/hello")
参数注解:
-
@PathVariable:一般我们使用URI template样式映射使用,即url/{param}这种形式,也就是一般我们使用的GET,DELETE,PUT方法会使用到的,我们可以获取URL后所跟的参数。
RequestMapping("hello/{age}")
public String GetAge(@PathVariable("age") String age){
}
-
@RequestParam:一般我们使用该注解来获取多个参数,在()内写入需要获取参数的参数名即可,一般在PUT,POST中比较常用。
@RestController
public class HelloController {
@RequestMapping(value="/hello",method= RequestMethod.GET)
public String sayHello(@RequestParam("id") Integer id){
return "id:"+id;
}
}
注解中id 不等同于后面id 前面是请求参数
其他参数required=true 是否必填 defaultValue="0"默认值
-
@RequestBody:该注解和@RequestParam殊途同归,我们使用该注解将所有参数转换,在代码部分在一个个取出来,也是目前我使用到最多的注解来获取参数(因为前端不愿意一个一个接口的调试)例如下代码
@RestController
public class HelloController {
@RequestMapping(value="/hello",method= RequestMethod.POST)
public String save(RequestBody Student student){
}
}
Service注解:@Component
Controller中注入Service:@Autowired
@Autowired
private StudentService studentservice;
Vo(Entity)实体注解@Entity
ID注解:
@Id
@GeneratedValue自增注解
配置文件: apllication.properties或者application.yml
推荐使用application.yml驼峰式写法 简单 易读 整洁
例如:
student:
age:12
height:175
获取配置文件内容方式:
@Value("${age}")
private String age;
或
@ConfigurationProperties(prefix="student")
public class Test(){
private String age;
private String height;
构造函数
get 方法
set方法
}
数据库操作:
pom配置依赖注入:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
application配置:
spring:
datasource:
driver-class-name:com.mysql.jdbc.Driver
url:jdbc:mysql://127.0.0.1:3306/test
username:root
password:123456
jpa:
hibernate:
ddl-auto:create 自动创建表 update创建表不会删除数据 creat-drop等应用停止自动删 // 除表none不操作 validate验证和实体是否一致不一致报错
show-sql:true 控制台显示sql
创建一个接口
public interface StudentService extends JpaRepository<Student,Integer>(){
//根据某个字段查询
public List<Student> findByAge(Integer age)
}
继承Jpa后可以调用对应实体的一些简单的增删改查
具体内容请查看详细博客
@Transactional事务回滚
同
上一篇: P1100 高低位交换
下一篇: 洛谷 P1100 高低位交换
推荐阅读
-
深入理解spring boot异步调用方式@Async
-
Spring boot 和Vue开发中CORS跨域问题解决
-
Android开发入门环境快速搭建实战教程
-
spring boot整合mybatis+mybatis-plus的示例代码
-
spring boot tomcat jdbc pool的属性绑定
-
spring boot 使用Aop通知打印控制器请求报文和返回报文问题
-
详解如何在低版本的Spring中快速实现类似自动配置的功能
-
通过spring boot 设置tomcat解决 post参数限制问题
-
Spring boot进行参数校验的方法实例详解
-
spring-boot整合ehcache实现缓存机制的方法