高级架构技术复习大纲
第一章 SpringBoot开发入门
1. Springboot的优点。
① 可快速构建独立的Spring应用。
② 直接嵌入Tomcat、Jetty和Undertow服务器(无须部署WAR文件)
③ 通过依赖启动器简化构建配置
④ 自动化配置Spring和第三方库
⑤ 提供生产就绪功能
⑥ 极少的代码生成和XML配置
2. Lombok开发工具的常用注解,要求会在项目中使用Lombok
@Data:这个注解是@Getter、@Setter、@ToString、@EqualsAndHashCode等注解的集合。它会自动生成getter和setter方法、toString()方法、equals()方法和hashCode()方法。
@NoArgsConstructor、@AllArgsConstructor和@RequiredArgsConstructor:这三个注解分别用于生成无参构造器、包含所有参数的构造器和包含特定参数的构造器。这有助于在Java类中提供灵活的构造器选项
3. SpringBoot项目的常用注解
① @SpringBootApplication 是 Spring Boot 的核心注解,用于标记该类为主程序启动类
② @RestController 是一个组合注解,等同于@Controller和@ResponseBody两个注解结合使用的结果。
③ @Controller 注解用于标识一个 Java 类是一个控制器。控制器负责接收请求、处理请求,并返回响应,如ThymeLeaf中的html页面模版
④ @GetMapping 主要作用是设置方法的访问路径并限定其访问方式为Get。如在hello方法上添加@GetMapping(“/hello”)注解,则该方法的请求处理路径为”/hello”
4. SpringBoot项目的常用项目构建工具
① Maven,其核心配置文件是pom.xml
② Gradle ,其核心配置文件是 build.gradle
5. 利用SpringBoot进行单元测试的步骤?
在pom文件中添加spring-boot-starter-test测试启动器;编写单元测试类;编写单元测试方法;运行结果
1) 引入Spring Boot Test依赖:
在pom.xml中添加Spring Boot Test库的依赖。
org.springframework.boot
spring-boot-starter-test
test
2) 创建测试类并使用注解:
o @SpringBootTest:用于启动完整的Spring上下文。
o @RunWith(SpringRunner.class):指定运行器为SpringRunner。加载Spring Boot测试注解
o @Test:标注方法为测试方法。
o @Autowired注入了HelloController实例对象
没有改动
6. 会使用Spring Initializr方式构建Spring Boot项目。
要求能够独立创建可运行的SpringBoot项目,清楚SpringBoot的项目结构。
第二章 SpringBoot核心配置与注解
1. 全局配置文件
SpringBoot使用的全局配置文件格式为application.properties, application.yml或者application.yaml
该配置文件一般会选择放置在resource目录下。
熟悉以上三种配置文件的文件内容格式和编写方式
2. Profile文件多环境配置
在SpringBoot框架中,使用Profile配置文件进行多环境配置时,该配置文件必须满足application-{profile}.properties的格式,其中{profile}对应具体的环境标识,如dev/test/prod
3. 配置文件属性值的注入
@ConfigurationProperties和@Value两种方式,及两者的区别。
第三章 SpringBoot数据访问
第三章书本中的代码案例均建议练习。(配置文件整合Mybatis的案例不用)
使用注解方式整合MyBatis(创建Mapper接口文件:@Mapper)
1. Redis的优点
① 存取速度快
② 支持丰富的数据类型,例如列表,集合、排序集和散列等
③ 操作具有原子性
④ 提供多种功能,可用作数据库、缓存中间件和消息中间件
2. Redis数据操作的几个重要注解
① @RedisHash: 用于指定操作实体类对象在Redis数据库中的存储空间。
② @Id:用于标识实体类主键。
③ @Indexed: 用于标识对应属性在Redis数据库中生成二级索引。
3. 编写Spring Data JPA 的Repository接口方法时需要注意的问题:
① 使用Spring Data JPA自定义Repository接口,必须继承XXRepository
接口,其中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包,
勾选web和ThymeLeaf
不再考题范围内
编写Html代码
Controller层
往Model中添加属性
????????
1. 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 用于指定标签显示的文本内容
2. 语言国际化文件命名
① SpringBoot默认识别的语言配置文件为类路径resources下的message.properties;
② 其他语言国际化文件的名称必须严格按照“文件前缀名_语言代码_国家代码.properties”的形式命名。
3. ThymeLeaf的5种主要标准表达式语法及作用
变量表达式、选择变量表达式、消息表达式、链接URL表达式、片段表达式
1. ${…}:变量表达式:
o 作用:用于访问变量的值,这些变量可以是 JavaBean 属性、Map 键值、迭代器元素等。
o 语法:#{myVariable},其中 myVariable 是变量名。
o 示例:Hello, John!
。
2. 选择变量表达式 (*{...}):
o 作用:用于执行内联的条件表达式,类似于 Java 中的三元运算符。
o 语法:*{myVariable ? 'valueIfTrue' : 'valueIfFalse'}。
o 示例:Welcome User
。
3. 消息表达式 (#{...}):
o 作用:用于访问国际化消息文本,这些文本通常存储在属性文件中。
o 语法:#{messageKey},其中 messageKey 是消息的键。
o 示例:Welcome to our website!
。
4. 链接 URL 表达式 (@{...}):
o 作用:用于生成 URL 链接,可以是绝对路径或相对路径,支持参数传递和模式匹配。
o 语法:@{/path( param1=value1, param2=value2 )}。
o 示例:Home Page。
5. ~{…}:片段表达式:
o 作用:用于包含和定义 HTML 片段,可以是模板的任何部分,包括脚本、样式、导航等。
o 语法: 或使用 th:fragment 属性定义片段。
o 示例:在 fragments.html 中定义一个头部片段,然后在其他模板中包含它。
第五章 SpringBoot实现Web的常用功能
第五章书本中的文件上传和下载的案例建议练习。
1. 文件上传的相关配置
①