转载

零基础认识 Spring Boot

点击上方  Java后端 ,选择  设为星标

优质文章,及时送达

作者 | Lee宇斌

来源 | blog.csdn.net/qq_30258957

新建项目

New Project – Spring Initializr – 选择web

零基础认识 Spring Boot

确定文件路径

零基础认识 Spring Boot

选择版本,组件

零基础认识 Spring Boot

选择路径进行保存,删除没用的文件

零基础认识 Spring Boot

启动SpringBoot项目

运行自动生成的XXApplication类,其必须带有 @SpringBootApplication 注解,右键Run XX即可启动项目。 

零基础认识 Spring Boot

idea在初次启动的时候需要加载许多东西,建议maven使用阿里云的仓库,加载完之后才会出现Run XX按钮。当出现此页面的时候,说明springBoot启动成功  

零基础认识 Spring Boot

怎么编写一个Controller文件呢?添加类似Spring的注解,启动即可访问。(也可以先编译,通过命令启动)

零基础认识 Spring Boot

由于代码补全快捷键冲突了,所以需要进行修改。

配置文件使用

新建的项目中,application.properties就是新建项目默认的配置文件。这里可以对访问端口和访问路径进行配置。

零基础认识 Spring Boot

相似的,application.yml也是默认配置文件,其使用分组的格式,:之后必须加 空格 ,子内容前面为 tab键  

零基础认识 Spring Boot

yml可以配置java代码中注入的值,直接写 键:值 ,用 @Value("${键}") 的方式即可注入。  直接用${}就可以在xml中进行引用。

零基础认识 Spring Boot

当配置文件需要频繁变换,怎么灵活切换呢?可以将其写成两个配置文件,而主配置文件只要选好要哪一个配置文件即可。 新建两个配置文件 application-dev.yml   &  application-prod.yml,在application.yml中指定调用哪一个配置文件:

零基础认识 Spring Boot

调用dev后缀的配置文件。

注解的使用

@Component  & @ConfigurationProperties

一个个属性注入太麻烦了,有没有注入对象的方法呢?修改配置文件为组的形式,编写pojo对象映射,再将pojo对象注入

零基础认识 Spring Boot

pojo对象,需要 @Component 定义Spring管理Bean, @ConfigurationProperties 指定前缀内容。

@Component 注解相当于:@Service,@Controller,@Repository,并下面类纳入进spring容器中管理。这样才能被下一层@Autowired注入该对象。

零基础认识 Spring Boot

运行 @SpringBootApplication ,即可访问Controller的内容。 

零基础认识 Spring Boot

@RestController

@RestController  =  @ResponseBody + @Controller  

@RequestMapping

@RequestMapping可以指定多个value: @RequestMapping(value={"/say","/hi"}) 。 

@RequestMapping的Get请求获取参数的方式:

方式一:PathVariable:访问地址中间参数传输:

零基础认识 Spring Boot

url访问地址可以将id中间位置: http://localhost:8080/hello/233333/say

方式二:RequestParam:访问地址后面传值: 

零基础认识 Spring Boot

url访问方式: http://localhost:8080/hello/say?id=110

添加默认值: (@RequestParam(value = "id", required = false, defaultValue = "0") Integer id)  ,如何不传id,它就会默认为0。

@RequestMapping(value="/say",method = RequestMethod.GET) 也可以写成 GetMapping(value="/say") 的方式。

@Transactional

当我一个Service的方法里有两条sql插入操作,怎么保证其同时执行成功或者同时执行失败?在方法上面添加 @Transactional 注解,即说明其为同个事务。

零基础认识 Spring Boot

只有在innodb引擎下事务才能工作。所以需要在数据库中执行 ALTER TABLE girl ENGINE=innodb 命令。

数据库操作

创建表

要操作数据库,首先添加组件

pom.xml添加组件

零基础认识 Spring Boot

application.yml配置数据库连接:

零基础认识 Spring Boot

ddl-auto: create :每次都重新创建数据库,数据不保存,要保存得用 update

show-sql: true :打印sql语句。

并且需要在mysql中创建对应的数据库。配置完上方的jpa之后,编写pojo对象,添加 @Entity 注解,标注id @Id ,自增长 @GeneratedValue ,运行之后数据库就会自动生成对应表。 ddl-auto: create 配置将决定表是创建create还是更新update      

零基础认识 Spring Boot

JPA实现增删改查

新建接口,继承 JpaRepository<Girl, Integer> ,注入接口,直接调用 JpaRepository 中的CRUD方法即可实现查询所有。    

新建接口

零基础认识 Spring Boot

调用CRUD方法  

/**     * 查询所有     * @return     */    @GetMapping(value = "/girls")    public List<Girl> girlList() {        return girlRepository.findAll();    }    /**     * 根据id查询     * @param id     * @return     */    @GetMapping(value = "/girlById/{id}")    public Girl girlFindOne(@PathVariable("id") Integer id) {        Optional<Girl> temp = girlRepository.findById(id);        //从返回值中获取值        return temp.get();    }    /**     * 添加内容     * @param age     */    @PostMapping(value = "/girlAdd")    public Girl girlAdd(@RequestParam("size") String size, @RequestParam("age") Integer age) {        Girl girl = new Girl();        girl.setAge(age);        girl.setSize(size);        return girlRepository.save(girl);    }    /**     * 更新     */    @PutMapping(value = "/moGirlById/{id}")    public Girl girlUpdate(@PathVariable("id") Integer id, @RequestParam("age") Integer age,@RequestParam("size") String size) {        Girl girl = new Girl();        girl.setId(id);        girl.setAge(age);        girl.setSize(size);        return girlRepository.save(girl);    }    /**     * 删除     */    @DeleteMapping(value = "/delGirls/{id}")    public void girlDelete(@PathVariable("id") Integer id) {        Girl girl = new Girl();        girl.setId(id);        girlRepository.delete(girl);    }

如果某些方法在JpaRepository中不存在,可以自己使用扩展方法,写在接口中,调用即可。但是要求方法名要规范。

零基础认识 Spring Boot

零基础认识 Spring Boot

原文  http://mp.weixin.qq.com/s?__biz=Mzg2MjEwMjI1Mg==&mid=2247490346&idx=6&sn=f92079d149c8b5a4fee8a02723ef9a35
正文到此结束
Loading...