随笔分类 - 后端
摘要:新建1个项目,并在里面新建2个子模块 atguigu-hello-spring-boot-starter作为启动器 atguigu-hello-spring-boot-starter-autoconfigure用于自动配置包 启动器子模块中添加配置包 <dependencies> <dependen
阅读全文
摘要:常用外部配置源 Java属性文件、YAML文件、环境变量、命令行参数; 启动类中获取环境变量 @SpringBootApplication public class Boot09FeaturesProfileApplication { public static void main(String[]
阅读全文
摘要:配置文件激活 当我们的项目部署到线上之后,部署环境和开发环境不同,这时可写多个配置文件,在不同的环境指定不同的配置文件 例如用于默认,生产,测试环境的配置文件: application.properties application-prod.yaml application-test.yaml 我们
阅读全文
摘要:构建1个新项目作为收集数据的服务器 pom.xml中导入依赖 <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.3.1
阅读全文
摘要:yml配置,方便查看 management: health: enabled: true show-details: always #总是显示详细信息。可显示每个模块的状态信息 定制 Health 信息 @Component public class MyComHealthIndicator ext
阅读全文
摘要:指标监控暴露方式 jmx http jmx默认是开启的,使用jmx查看 启动项目 打开cmd,输入jconsole 连接启动的应用 http查看步骤: # 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI
阅读全文
摘要:前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要 # assumingThat 的参数是表示条件的布尔值和对应的 Executable 接口的实现对象。只有条件满足时,Executable 对象才会被执行;当条件不满足时,测试执行并不会终止 @DisplayName("前
阅读全文
摘要:简介 断言(assertions)是测试方法中的核心部分,用来对测试需要满足的条件进行验证。这些断言方法都是 org.junit.jupiter.api.Assertions 的静态方法 检查业务逻辑返回的数据是否合理。 所有的测试运行结束以后,会有一个详细的测试报告 简单断言 案例 # 当前面执行
阅读全文
摘要:JUnit5组成 JUnit Platform: Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。 JUnit Jupiter: JUnit Jupiter提供了JUnit5的新的编程模型,是JUnit5新特性的核心。内部 包含
阅读全文
摘要:使用@WebServlet(urlPatterns = "/my")时直接响应,没有经过Spring的拦截器 DispatchServlet 如何注册进来 容器中自动配置了 DispatcherServlet 属性绑定到 WebMvcProperties;对应的配置文件配置项是 spring.mvc
阅读全文
摘要:spring方式注入servlet组件:普通类 + ServletRegistrationBean + @ServletComponentScan # 编写普通类 public class MyServlet extends HttpServlet { @Override protected voi
阅读全文
摘要:使用原生注解注入servlet组件:@WebServlet处理请求路由,+主配置类中标注@ServletComponentScan扫描原生注解所在的路径 @WebServlet(urlPatterns = "/my") public class MyServlet extends HttpServl
阅读全文
摘要:拦截器实现步骤: 1、编写一个拦截器实现HandlerInterceptor接口 2、拦截器注册到容器中(实现WebMvcConfigurer的addInterceptors) 3、指定拦截规则,如果是拦截所有,静态资源也会被拦截 编写一个拦截器 public class LoginIntercep
阅读全文
摘要:thymeleaf语法: ${...} 获取请求域、session域、对象等值 session.setAttribute("loginUser",user); # 向HttpSession中添加数据 session.getAttribute("loginUser"); # 获取HttpSession
阅读全文
摘要:在浏览器搜索框中输入的方式只有format=json和format=xml,我们希望输入format=gg时,服务器能使用我们自定义的内容协商x-guigu 那么我们需要在配置类中配置如下,这时在浏览器搜索框中输入format=gg即可响应x-guigu类型的数据 序号1处是自定义的协商策略,有可能
阅读全文
摘要:若我们想自定义一种内容协商,例如自定义x-guigu,如果使用这种响应格式时,我们想让服务器响应给客户端只有属性值且用分号隔开的数据格式:属性值1;属性值2 内容协商的原理是:服务器获取客户端可接收的内容类型,服务端遍历系统中所有MessageConverter,看是否有客户端所需的类型,如果有,则
阅读全文
摘要:根据客户端接收能力不同,返回不同媒体类型的数据 # 前提是引入xml依赖: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId>
阅读全文
摘要:当引入web依赖(场景)的时候,web场景会自动引入json场景;这时在控制层处理请求时,标注@ResponseBody注解,则会响应给前端json <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring
阅读全文
摘要:参数绑定 当前端页面提交表单,表单数据对应后端实体类,控制层处理请求时,会将表单数据与实体类对象属性自动绑定(即转为对象) # 前端: 姓名: <input name="userName"/> <br/> 年龄: <input name="age"/> <br/> # 实体类: @Data publ
阅读全文
摘要:Map、Model:(map、model里面的数据会被放在request的请求域 request.setAttribute) @GetMapping("/params") public String testParam(Map<String,Object> map, Model model, Htt
阅读全文
浙公网安备 33010602011771号