springboot
Spring Boot是基于Spring框架开发的全新框架,其设计目的是简化新Spring应用的初始化搭建和开发过程。 Spring Boot整合了许多框架和第三方库配置,几乎可以达到“开箱即用”。
可快速构建独立的Spring应用 直接嵌入Tomcat、Jetty和Undertow服务器(无需部署WAR文件) 提供依赖启动器简化构建配置 极大程度的自动化配置Spring和第三方库 提供生产就绪功能 极少的代码生成和XML配置
创建Maven项目 在pom.xml中添加Spring Boot相关依赖 编写主程序启动类 创建一个用于Web访问的Controller 运行项目
<!-- 引入Spring Boot依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> </parent> <dependencies> <!-- 引入Web场景依赖启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
spring-boot-starter-parent是通过<properties>标签对一些常用技术框架的依赖文件进行了统一版本号管理。
spring-boot-starter-web依赖启动器的主要作用是提供Web开发场景所需的底层所有依赖文件,它对Web开发场景所需的依赖文件进行了统一管理
@RestController 该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解
@GetMapping("/hello") 等同于Spring框架中@RequestMapping(RequestMethod.GET)注解
使用Spring Initializr方式构建Spring Boot项目
Spring Boot应用的启动入口是@SpringBootApplication注解标注类中的main()方法; @SpringBootApplication能够扫描Spring组件并自动配置Spring Boot。 @SpringBootApplication注解是一个组合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个核心注解

如果application.properties和application.yml同时配置了相同的属性, properties文件起作用
server.address=80 server.port=8443 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.config.additional-location= spring.config.location= spring.config.name=application
YAML文件格式是Spring Boot支持的一种JSON超集文件格式。 相较于传统的Properties配置文件,YAML文件以数据为核心,是一种更为直观且容易被电脑识别的数据序列化格式。 application.yaml文件的工作原理和application.properties一样。
使用@ConfigurationProperties注解批量注入属性值时,要保证配置文件中的属性与对应实体类的属性一致,否则无法正确获取并注入属性值。


@PropertySource注解目前只支持解析属性文件和application.yml文件, 不支持其他yml文件的解析,并且也不报错,但是所有的属性都为null
@ PropertySource:指定自定义配置文件的位置和名称
@ Configuration :自定义配置类,Spring容器组件
application-prod.properties:生产环境 application-test.properties:测试环境 application-dev.properties:开发环境、

配置日志:application.yml文件中配置sql语句日志打印。 数据准备:创建数据库、数据表并插入一定的数据 创建项目,引入相应的启动器:使用Spring Initializr的方式构建项目,选择MySQL和MyBatis依赖,编写实体类。 编写配置文件:在配置文件中进行数据库连接配置以及进行第三方数据源的默认参数覆盖。
创建Mapper接口文件:@Mapper 编写测试方法进行接口方法测试及整合测试:
@Select("SELECT * FROM t_comment WHERE id =#{id}") public Comment findById(Integer id);
@Insert("INSERT INTO t_comment(content,author,a_id) " + "values (#{content},#{author},#{aId})") public int insertComment(Comment comment);
@Update("UPDATE t_comment SET content=#{content} WHERE id=#{id}") public int updateComment(Comment comment);
@Delete("DELETE FROM t_comment WHERE id=#{id}") public int deleteComment(Integer id);}
创建Mapper接口文件:@Mapper 创建XML映射文件:编写对应的SQL语句 在全局文件中配置XML映射文件路径以及实体类别名映射路径 编写测试方法进行接口方法测试及整合测试
在pom文件中添加Spring Data Redis依赖启动器 编写实体类 编写Repository接口 在全局配置文件application.properties中添加Redis数据库连接配置 编写单元测试进行接口方法测试以及整合测试
使用@EnableCaching注解开启基于注解的缓存支持 使用@Cacheable注解对数据操作方法进行缓存管理 Spring Boot默认缓存测试
@EnableCaching是由Spring框架提供的,Spring Boot框架对该注解进行了继承,该注解需要配置在类上(在Spring Boot中,通常配置在项目启动类上),用于开启基于注解的缓存支持。
@Cacheable注解也是由Spring框架提供的,可以作用于类或方法(通常用在数据查询方法上),用于对方法结果进行缓存存储。 @Cacheable注解的执行顺序是,先进行缓存查询,如果为空则进行方法查询,并将结果进行缓存;如果缓存中有数据,不进行方法查询,而是直接使用缓存数据。

@CachePut注解是由Spring框架提供的,可以作用于类或方法(通常用在数据更新方法上),该注解的作用是更新缓存数据。@CachePut注解的执行顺序是,先进行方法调用,然后将方法结果更新到缓存中。 @CachePut注解也提供了多个属性,这些属性与@Cacheable注解的属性完全相同。
@CacheEvict注解是由Spring框架提供的,可以作用于类或方法(通常用在数据删除方法上),该注解的作用是删除缓存数据。@CacheEvict注解的默认执行顺序是,先进行方法调用,然后将缓存进行清除。 @CacheEvict注解也提供了多个属性,这些属性与@Cacheable注解的属性基本相同,除此之外,还额外提供了两个特殊属性allEntries和beforeInvocation。
@CacheConfig注解使用在类上,主要用于统筹管理类中所有使用@Cacheable、@CachePut和@CacheEvict注解标注方法中的公共属性,这些公共属性包括有cacheNames、keyGenerator、cacheManager和cacheResolver。

浙公网安备 33010602011771号