![](https://img-blog.csdnimg.cn/fd0a0d3f6cb94ba1b9924dfcb3df47a3.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Boot
文章平均质量分 82
Spring Boot
瑟 王
失业中
展开
-
SpringBoot教程(16) 什么是RESTful?
REST(Representational State Transfer)描述了一个架构样式的网络系统,比如 web 应用程序。REST并没有一个明确的标准,而更像是一种设计的风格。如果一个架构符合REST原则,就称它为 RESTful架构。原创 2022-09-14 07:02:25 · 740 阅读 · 1 评论 -
SpringBoot教程(15) JUnit5 + Mockito @InjectMocks @Mock Stubbing
一、Mock测试1. 什么是Mock测试Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。原创 2022-04-27 16:26:04 · 4890 阅读 · 1 评论 -
SpringBoot教程(14) JUnit5详解 断言 assertEquals assertSame assertThrows assertThat
一、前言断言,简单理解就是用来判断的语句。判断待测试的代码的结果和我们期望的结果是否一致。如果不一致,则说明这个UT失败了。我们最最常见的断言就是assertEquals,判断值是否相等。JUnit5的断言非常丰富,下面举例几个工作中常用的断言,还有第三方库断言也会介绍下。二、JUnit5断言1. assertEquals 和 assertNotEqualsassertEquals第一个参数是期望的值,第二个参数是待测试方法的实际返回值。判断两者的值是否相等,换言之不判断类型是否相等。Asser原创 2022-04-02 11:51:10 · 11225 阅读 · 1 评论 -
SpringBoot教程(13) JUnit5详解 常用注解 BeforeEach BeforeAll ParameterizedTest RepeatedTest
一、前言前几个月我跳槽,入职了一家软件外包公司。项目是个外国的,给我最大的感觉就是老外很重视UT,覆盖率要80%以上。所以开发工作中写UT也是很重要的工作。由于我之前待过的几家公司是民企,对UT并不重视,而且我个人也没有特地学UT。虽然从大学就接触JUnit了,但是只停留在会用@Test这个水平,现在是时候学习下JUnit了。因为目前新的SpringBoot用的JUnit5,所以直接看JUnit5,JUnit4和JUnit5有不少差异。当然U原创 2022-03-31 17:03:11 · 5530 阅读 · 0 评论 -
SpringBoot教程(12) Jackson中的JsonGenerator案例
JsonGenerator定义用于编写JSON内容的公共API的基类(抽象类)。实例使用的工厂方法创建,也就是JsonFactory。Java中的数据类型和JSON中的值类型并不是一一对应的关系,那么这就需要JsonGenerator在写入时起到一个桥梁(适配)作用:public static void main(String[] args) throws IOException { String filePath = "src/main/resources/json/student_objec原创 2022-03-29 16:27:37 · 2563 阅读 · 0 评论 -
SpringBoot教程(11) Jackson中的JsonNode,ObjectNode,ArrayNode使用和区别
Jackson中的JsonNode,ObjectNode,ArrayNode使用和区别一、前言1. JsonNode作用2. JsonNode VS ObjectNode二、只读的JsonNode1. 测试用的JSON文本2. JSON 和 JsonNode 相互转换3. 使用get方法取值4. 使用path方法取值5. 使用at方法取值三、可修改的ObjectNode四、可修改的ArrayNode一、前言若你的项目里使用Jackson处理JSON,必然会看到很多JsonNode、ObjectNode和原创 2022-03-29 16:09:32 · 17544 阅读 · 3 评论 -
SpringBoot教程(10) Jackson ObjectMapper使用和常用注解
Jackson详细教程一、前言二、ObjectMapper三、反序列化一、前言Jackson和Fastjson都是比较出名的JSON解析库,SpringMVC默认使用的是Jackson,而且在企业项目中也大多使用的是Jackson,感觉还是很有必要熟悉Jackson的基本使用的。二、ObjectMapperJackson最常用的的就是ObjectMapper, 它可以三、反序列化...原创 2022-03-28 18:36:28 · 7933 阅读 · 0 评论 -
SpringBoot教程(9) @DependsOn 设置Bean依赖 结合@Lazy 修改Bean加载顺序
@DependsOn 设置Bean依赖 结合@Lazy 修改Bean加载顺序一、需要@DependsOn的场景二、实验示例1. Teacher类2. LateStudent类3. 配置类4. 测试类5. 添加@DependsOn,设置依赖关系三、用@Lazy懒加载1. 用@Lazy方式让学生在后面加载四、@DependsOn和@Lazy都存在的情况1. 假设被依赖的Teacher用了@Lazy一、需要@DependsOn的场景在开发中,如果有2个类A和B,且B要监听A,则希望B在A之前加载到容器中。但原创 2021-03-18 15:49:40 · 7782 阅读 · 0 评论 -
SpringBoot教程(8) @ComponentScan注解 value basePackageClasses 详细讲解
@ComponentScan注解 excludeFilters FilterType过滤器 详细讲解一、@ComponentScan用法介绍1. value和basePackages一、@ComponentScan用法介绍@ComponentScan很多人都知道它是用来扫描知道包路径下的组件,并把它们注册到Spring容器中。@ComponentScan它看着挺简单,但是它有很多参数,功能很强大,其中有很多细节需要注意。下面我讲由浅入深地介绍@ComponentScan。1. value和base原创 2021-03-18 11:20:51 · 6425 阅读 · 1 评论 -
SpringBoot教程(7) @ConditionalOnProperty 详细讲解和示例
@ConditionalOnProperty 详细讲解和示例一、@ConditionalOnProperty简介二、详细代码示例1. 配置文件中配置2. 指定prefix+name3. 只指定name 或者 value3. 指定了havingValue4. 配置项是false,havingValue = false"5. 配置项是false,不设置havingValue6. 缺少配置,但配置了matchIfMissing = true一、@ConditionalOnProperty简介在开发基于Spri原创 2021-03-15 15:15:26 · 30284 阅读 · 3 评论 -
SpringBoot教程(6) @Conditional 详细讲解和示例
@Conditional 讲解和示例一、@Conditional简介二、示例:加载2个Bean1. 定义Person类2. 利用@Configuration + @Bean加载2个Bean3. 测试是否都加载到Spring容器中三、利用@Conditional根据条件加载Bean1. 创建条件判断的类2. @Conditional放在方法上\color{red}{方法上}方法上3. @Conditional放在类上\color{red}{类上}类上4. @Conditional传多个\color{red}{原创 2021-03-15 10:47:31 · 2552 阅读 · 1 评论 -
SpringBoot教程(5) 单例Bean懒加载 @Lazy的使用和失效情况
单例Bean懒加载 @Lazy的使用和失效情况一、@Lazy的作用二、测试@Lazy在启动时不会创建Bean1. 先创建简单的类User、Person2. 利用@Configuration+@Bean创建单例3. 测试@Lazy修饰的对象的第一次创建三、@Lazy的失效一、@Lazy的作用在用Spring开发时,我们常用的注解修饰的Bean是单实例的,比如@Component、@Service、@Bean。这些单例默认在Spring启动时加载到容器中,以后再调用时也不会重新创建,而是之间从容器中拿。原创 2021-03-12 23:41:43 · 6067 阅读 · 3 评论 -
SpringBoot教程(4) @ComponentScan excludeFilters 自定义过滤器
一、@ComponentScan的作用@ComponentScan用于类或接口上,主要是指定扫描路径并把带有指定注解的类注册到Spring容器中。会被自动装配的注解包括@Component、@Bean、@Controller、@Service、@Repository等等。二、定义组件1. @Service注解的类MyService类被扫描后,会生成名为myBeanService的实例package info.pigg.study.java.service;import org.sprin原创 2021-03-12 17:32:49 · 17520 阅读 · 1 评论 -
SpringBoot教程(3) @ConfigurationProperties和@Value的使用区别
@ConfigurationProperties和@Value都是用来获取配置文件里的配置信息的,在一个项目中,这2种方式都比较常用,根据不同的场景,选择使用它们。一、@ConfigurationProperties的使用1. 导入spring-boot-configuration-processorspring-boot-configuration-processor方便在写配置文件时,有自动提示,首次引入后要启动下项目。<dependency> <groupId&g原创 2021-03-08 18:34:46 · 1695 阅读 · 2 评论 -
SpringBoot教程(2) @Import和ImportSelector的使用
一、@Import的作用@Import修饰在类名上,给容器中自动创建出对应class类型的组件、默认组件的名字就是全类名。二、@Import的使用创建2个类public class PiggUser { private String name; private Integer age; public PiggUser() { System.out.println("初始化了PiggUser()"); } //省略get,set}pu原创 2021-03-08 17:27:20 · 3790 阅读 · 2 评论 -
SpringBoot教程(1) @Configuration @Bean @Scope 的使用
一、@Configuration的作用@Configuration通常用于定义配置类,代替老式XML配置文件。@Configuration修饰在类名的上方,并且在类的内部,通常用@Bean修饰方法,该方法的返回值默认为Spring容器中的一个单例。二、@Configuration的使用1. @Configuration+@Bean注册Bean创建Bean类public class PiggRedisInfo { private String url; private int p原创 2021-03-08 16:30:24 · 755 阅读 · 2 评论