- SpringBoot开发入门
- Springboot的优点。
① 可快速构建独立的Spring应用。
② 直接嵌入Tomcat、Jetty和Undertow服务器(无须部署WAR文件)
③ 通过依赖启动器简化构建配置
④ 自动化配置Spring和第三方库
⑤ 提供生产就绪功能
⑥ 极少的代码生成和XML配置
- Lombok开发工具的常用注解,要求会在项目中使用Lombok
@Data:这个注解是@Getter、@Setter、@ToString、@EqualsAndHashCode等注解的集合。它会自动生成getter和setter方法、toString()方法、equals()方法和hashCode()方法。
@NoArgsConstructor、@AllArgsConstructor和@RequiredArgsConstructor:这三个注解分别用于生成无参构造器、包含所有参数的构造器和包含特定参数的构造器。这有助于在Java类中提供灵活的构造器选项
- SpringBoot项目的常用注解
① @SpringBootApplication 是 Spring Boot 的核心注解,用于标记该类为主程序启动类
② @RestController 是一个组合注解,等同于@Controller和@ResponseBody两个注解结合使用的结果。
③ @Controller 注解用于标识一个 Java 类是一个控制器。控制器负责接收请求、处理请求,并返回响应,如ThymeLeaf中的html页面模版
④ @GetMapping 主要作用是设置方法的访问路径并限定其访问方式为Get。如在hello方法上添加@GetMapping(“/hello”)注解,则该方法的请求处理路径为”/hello”
- SpringBoot项目的常用项目构建工具
① Maven,其核心配置文件是pom.xml
② Gradle ,其核心配置文件是 build.gradle
- 利用SpringBoot进行单元测试的步骤?
- 会使用Spring Initializr方式构建Spring Boot项目。
要求能够独立创建可运行的SpringBoot项目,清楚SpringBoot的项目结构。
- SpringBoot核心配置与注解
- 全局配置文件
SpringBoot使用的全局配置文件格式为application.properties, application.yml或者application.yaml
该配置文件一般会选择放置在resource目录下。
熟悉以上三种配置文件的文件内容格式和编写方式
- Profile文件多环境配置
在SpringBoot框架中,使用Profile配置文件进行多环境配置时,该配置文件必须满足application-{profile}.properties的格式,其中{profile}对应具体的环境标识,如dev/test/prod
- 配置文件属性值的注入
@ConfigurationProperties和@Value两种方式,及两者的区别。
- SpringBoot数据访问
第三章书本中的代码案例均建议练习。(配置文件整合Mybatis的案例不用)
- Redis的优点
① 存取速度快
② 支持丰富的数据类型,例如列表,集合、排序集和散列等
③ 操作具有原子性
④ 提供多种功能,可用作数据库、缓存中间件和消息中间件
- Redis数据操作的几个重要注解
- @RedisHash: 用于指定操作实体类对象在Redis数据库中的存储空间。
- @Id:用于标识实体类主键。
- @Indexed: 用于标识对应属性在Redis数据库中生成二级索引。
- 编写Spring Data JPA 的Repository接口方法时需要注意的问题:
- 使用Spring Data JPA自定义Repository接口,必须继承XXRepository<T, ID>接口,其中T代表要操作的实体类,ID代表实体类主键数据类型
、
- 使用Spring Data JPA进行数据操作的多种实现方式
- 如果自定义接口继承了JpaRepository接口,则默认包含了一些常用的CRUD方法。
- 自定义Repository接口中,可以使用@Query注解配合SQL语句进行数据的查、改、删操作。
- 自定义Repository接口中,可以直接使用方法名关键字进行查询操作。
- 在自定义的Repository接口中,针对数据的变更操作(修改、删除),无论是否使用了@Query注解,都必须在方法上方添加@Transactional注解进行事务管理,否则程序执行就会出现InvalidDataAccessApiUsageException异常。
- 变更操作,要配合使用@Query与Modify注解。在自定义的Repository接口中,使用@Query注解方式执行数据变更操作(修改、删除),除了要使用@Query注解,还必须添加@Modifying注解表示数据变更。
- SpringBoot视图技术
第四章书本中的代码案例建议练习。
懂得如何导入ThymeLeaf包,编写Html代码和Controller层往Model中添加属性
- ThymeLeaf的常用标签
th:标签 | 说明 |
th:insert | 页面片段包含(类似JSP中的include标签) |
th:replace | 页面片段包含(类似JSP中的include标签) |
th:each | 元素遍历(类似JSP中的c:forEach标签) |
th:if | 条件判断,如果为真 |
th:unless | 条件判断,如果为假 |
th:switch | 条件判断,进行选择性匹配 |
th:href | 用于设定链接地址 |
th:src | 用于设定链接地址 |
th:text | 用于指定标签显示的文本内容 |
- 语言国际化文件命名
- SpringBoot默认识别的语言配置文件为类路径resources下的message.properties;
- 其他语言国际化文件的名称必须严格按照“文件前缀名_语言代码_国家代码.properties”的形式命名。
- ThymeLeaf的5种主要标准表达式语法及作用
变量表达式、选择变量表达式、消息表达式、链接URL表达式、片段表达式
- SpringBoot实现Web的常用功能
第五章书本中的文件上传和下载的案例建议练习。
- 文件上传的相关配置
- ThymeLeaf页面缓存设置 spring.thymeleaf.cache
- 单个上传文件大小限制 spring.servlet.multipart.max-file-size
- 总上传文件大小限制 spring.servlet.multipart.max-request-size
- SpringBoot应用的打包和部署的方式有哪些?了解两种打包方式的区别。
- SpringBoot缓存管理
第六章6.1 - 6.2节的代码案例和注解说明,做好练习和相关注解的作用理解。
- 缓存常用注解
- EnableCaching,用于开启基于注解的缓存支持
- Cacheable,用于对方法的查询结果进行缓存存储
- CachePut,用于更新缓存数据
- CacheEvict,用于删除缓存
- CacheManage/CacheResolver,用于指定缓存的存储类型
- SpringBoot安全管理
- 自定义用户认证方式
- In-Memory Authentication(内存身份认证)
- JDBC Authentication(JDBC身份认证)
- UserDetailsService(身份详情服务)
- LDAP Authentication(LDAP身份认证)
JDBC Authentication(JDBC身份认证)在的注意事项
- SpringSecurity安全管理的两个重要概念
- 认证:确认用户是否登录,并对用户登录进行管控
- 授权:确定用户所拥有的功能权限,并对用户权限进行管控
综合能力
(1)使用Spring Boot整合Jpa,在浏览器中实现对评论数据的增删改查操作。
(2)使用Spring Boot整合Mybatis,在浏览器中实现对评论数据的增删改查操作。
页面效果图如下: