Spring
文章平均质量分 74
Spring
如我般骄傲
学习
展开
-
Java基础学习-常用注解
一、Spring常用注解一.@Component(@Service/@Repository/@Controller)这四个注解是等价的,主要用于将标记的类注册到Spring容器中@Component:通用注解,不知道写什么就写这个@Controller:Controller层注解@Service:Service层注解,添加在实现类上。@Repository应用中持久层Mapper上的二.@Configuration和@Bean三.@Value和@ConfigurationProperti原创 2021-11-23 10:50:03 · 469 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-16 |Spring Exception 常见错误
十六、Spring Exception 常见错误一.小心过滤器异常,过滤器的Handler并未生效1、代码分析1.Controller@Controller@Slf4jpublic class StudentController { public StudentController(){ System.out.println("construct"); } @PostMapping("/regStudent/{name}") @ResponseBo原创 2021-08-26 15:55:49 · 571 阅读 · 0 评论 -
Spring编程常见错误–Spring补充篇-18 |Spring Data 常见错误
十八、Spring Data 常见错误一.注意读与取的一致性当使用 Spring Data Redis 时,我们有时候会在项目升级的过程中,发现存储后的数据有读取不到的情况;另外,还会出现解析出错的情况。1、代码分析@SpringBootApplicationpublic class SpringdataApplication { SpringdataApplication(RedisTemplate redisTemplate, StringRedisTempl原创 2021-08-24 17:29:17 · 406 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-14 |Spring Web 过滤器使用常见错误(下)
十四、Spring Web 过滤器使用常见错误(下)(没事别用@WebFilter,问题一堆)一.@WebFilter 过滤器使用 @Order 无效1、代码分析1.主启动类:使用了@ServletComponentScan@SpringBootApplication@ServletComponentScan@Slf4jpublic class Application { public static void main(String[] args) { SpringAp原创 2021-08-24 17:21:06 · 194 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-13 |Spring Web 过滤器使用常见错误(上)
十三、Spring Web 过滤器使用常见错误(上)过滤器是 Servlet 的重要标准之一,其在请求和响应的统一处理、访问日志记录、请求权限审核等方面都有着不可替代的作用。在 Spring 编程中,主要就是配合使用 @ServletComponentScan 和 @WebFilter 这两个注解来构建过滤器。一.@WebFilter 过滤器无法被自动注入(特殊的Bean对象无法像普通Bean一样被自动注入)1、代码分析1.Filter@WebFilter@Slf4jpublic class原创 2021-08-24 16:13:38 · 304 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-11 |Spring Web Body 转化常见错误
十一、Spring Web Header 解析常见错误一.找不到类型返回值的转换器(No converter found for return value of type)在直接用 Spring MVC 而非 Spring Boot 来编写 Web 程序时,我们基本都会遇到 “No converter found for return value of type” 这种错误。1、代码分析//定义的数据对象@Data@NoArgsConstructor@AllArgsConstructorpu原创 2021-08-16 15:22:14 · 362 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-12 |Spring Web 参数验证常见错误
十二、Spring Web 参数验证常见错误Spring Web 开发中的参数检验(Validation)。参数检验是我们在 Web 编程时经常使用的技术之一,它帮助我们完成请求的合法性校验,可以有效拦截无效请求,从而达到节省系统资源、保护系统的目的。相比较其他 Spring 技术,Spring 提供的参数检验功能具有独立性强、使用难度不高的特点。但是在实践中,我们仍然会犯一些常见的错误,这些错误虽然不会导致致命的后果,但是会影响我们的使用体验,例如非法操作要在业务处理时才被拒绝且返回的响应码不够清晰友好原创 2021-08-12 09:44:09 · 477 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-10 |Spring Web Header 解析常见错误
十、Spring Web Header 解析常见错误对于一个 HTTP 请求而言,URL 固然重要,但是为了便于用户使用,URL 的长度有限,所能携带的信息也因此受到了制约。如果想提供更多的信息,Header 往往是不二之举。不言而喻,Header 是介于 URL 和 Body 之外的第二大重要组成,它提供了更多的信息以及围绕这些信息的相关能力,例如 Content-Type 指定了我们的请求或者响应的内容类型,便于我们去做解码。虽然 Spring 对于 Header 的解析,大体流程和 URL 相同,原创 2021-08-10 21:03:12 · 480 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-09 |Spring Web URL 解析常见错误
九、Spring Web URL 解析常见错误一.当 @PathVariable 遇到 /1、代码在解析一个 URL 时,我们经常会使用 @PathVariable 这个注解。例如我们会经常见到如下风格的代码:@RestController@Slf4jpublic class HelloWorldController { @RequestMapping(path = "/hi1/{name}", method = RequestMethod.GET) public String原创 2021-08-10 14:09:17 · 442 阅读 · 0 评论 -
Spring编程常见错误–Spring Web篇-08 |HTTP请求的处理过程
八、HTTP请求的处理过程一.浏览器请求流程1、域名访问1.解析DNS浏览器缓存 > 操作系统缓存 > 本机hosts文件 > “野生DNS服务器” >核心DNS服务器( 根级DNS > 顶级DNS > 权威DNS;如果还是没找到对应域名的IP地址,那么就会报错,如果找到了则进行下一步。2.通过对应IP与服务器建立tcp/ip连接将域名解析为正确的ip地址之后,通过三次握手与服务器建立tcp/ip连接;3.浏览器发送请求报文建立连接之后,浏览器发送请求报原创 2021-08-05 15:24:06 · 437 阅读 · 0 评论 -
Spring编程常见错误–Spring补充篇-20 |Spring 事务常见错误(下)
二十、Spring 事务常见错误(下)一个是关于事务的传播机制,另一个是关于多数据源的切换问题,通过这两个问题,可以更加深入地了解 Spring 事务的核心机制一.嵌套事务回滚错误1、SQL表结构1.课程表 course,记录课程名称和注册的学生数。CREATE TABLE `course` ( `id` int(11) NOT NULL AUTO_INCREMENT, `course_name` varchar(64) DEFAULT NULL, `number` int(11)原创 2021-08-05 11:01:39 · 1083 阅读 · 0 评论 -
Spring编程常见错误–Spring补充篇-19 |Spring 事务常见错误(上)
Spring 事务管理包含两种配置方式,第一种是使用 XML 进行模糊匹配,绑定事务管理;第二种是使用注解,这种方式可以对每个需要进行事务处理的方法进行单独配置,你只需要添加上 @Transactional,然后在注解内添加属性配置即可。原创 2021-08-04 15:57:29 · 559 阅读 · 2 评论 -
Spring编程常见错误–Spring补充篇-21 |Spring Rest Template 常见错误
二十一、Spring Rest Template 常见错误一.参数类型是 MultiValueMap1、接口代码@RestControllerpublic class HelloWorldController { @RequestMapping(path = "hi", method = RequestMethod.POST) public String hi(@RequestParam("para1") String para1, @RequestParam("para2") St原创 2021-08-04 14:48:57 · 576 阅读 · 0 评论 -
Spring&&SpringBoot&&SpringCloud&&SpringCloudAlibaba&&Spring Security汇总
一、Spring1、Spring编程常见错误–Spring Core篇-01 |Spring Bean 定义常见错误2、Spring编程常见错误–Spring Core篇-02 |Spring Bean 依赖注入常见错误(上)3、Spring编程常见错误–Spring Core篇-03 |Spring Bean 依赖注入常见错误(下)4、Spring编程常见错误–Spring Core篇-04 |Spring Bean 生命周期常见错误5、Spring编程常见错误–Spring Core篇-05原创 2021-07-29 21:36:31 · 337 阅读 · 0 评论 -
Spring编程常见错误–Spring Core篇-07 |Spring事件常见错误
七、Spring事件常见错误一.试图处理并不会抛出的事件Spring的事件模型Spring 事件包含以下三大组件1、事件(Event)用来区分和定义不同的事件,在 Spring 中,常见的如 ApplicationEvent 和 AutoConfigurationImportEvent,它们都继承于 java.util.EventObject。2、事件广播器(Multicaster)负责发布上述定义的事件。例如,负责发布 ApplicationEvent 的 ApplicationEvent原创 2021-07-12 15:25:57 · 785 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-06 |Spring AOP 常见错误(下)
六、Spring AOP 常见错误(下)一.错乱混合不同类型的增强:AOP增强方法相互影响同一个切面中,不同类型的增强方法被调用的顺序依次为 Around.class, Before.class, After.class, AfterReturning.class, AfterThrowing.class。1、代码1.Service@Servicepublic class ElectricService { public void charge() throws Exception {原创 2021-06-29 16:30:29 · 513 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-05 |Spring AOP 常见错误(上)
五、Spring AOP 常见错误(上)Spring AOP 利用 CGlib 和 JDK 动态代理等方式来实现运行期动态方法增强,其目的是将与业务无关的代码单独抽离出来,使其逻辑不再与业务代码耦合,从而降低系统的耦合性,提高程序的可重用性和开发效率。因而 AOP 便成为了日志记录、监控管理、性能统计、异常处理、权限管理、统一认证等各个方面被广泛使用的技术。一.this 调用的当前类方法无法被拦截1、代码1.Service@Servicepublic class ElectricService原创 2021-06-21 11:02:45 · 869 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-04 |Spring Bean 生命周期常见错误
四、Spring Bean 生命周期常见错误一.构造器内抛空指针异常1、代码import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Componentpublic class LightMgrService { @Autowired private LightService lightService; public Li原创 2021-06-18 17:30:56 · 595 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-03 |Spring Bean 依赖注入常见错误(下)
三、Spring Bean 依赖注入常见错误(下)Spring 的自动注入一.@Value 没有注入预期的值1、代码1.application.propertiesusername=adminpassword=pass2.Controller@RestControllerpublic class ValueTestController { @Value("${username}") private String username; @Value("${passwo原创 2021-06-17 17:18:44 · 377 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-02 |Spring Bean 依赖注入常见错误(上)
一、Spring Bean 依赖注入常见错误提及 Spring 的优势或特性,我们都会立马想起“控制反转、依赖注入”这八字真言。而 @Autowired 正是用来支持依赖注入的核心利器之一。表面上看,它仅仅是一个注解,在使用上不应该出错。但是,在实际使用中,我们仍然会出现各式各样的错误,而且都堪称经典。一.过多赠予,无所适从1、代码:一个service有两个实现类1.Controller@RestController@Slf4j@Validatedpublic class StudentCo原创 2021-06-17 16:31:18 · 538 阅读 · 1 评论 -
maven 标签详解(有修改)
<span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">转载 2021-04-28 08:56:42 · 140 阅读 · 0 评论 -
Spring编程常见错误--Spring Core篇-01 |Spring Bean 定义常见错误
一、Spring Core篇一.Spring Bean定义常见错误1、隐式扫描不到 Bean :@ComponentScan默认扫描范围从启动类所在包开始,扫描当前包及其子级包下的所有文件。@ComponentScan的使用位置为SpringBoot的启动类上,可以不加,不加的默认位置就是扫描当前包及其子级包下的所有文件。如果需要扫描其他位置的,需要手动去指定,手动指定后,默认的范围就失效了。@ComponentScan("com.testing")public class GosunJobA原创 2021-04-21 13:23:37 · 2435 阅读 · 0 评论 -
Spring基础(三)-Spring的应用
六、Spring的应用一.事务事务是数据库操作的最基本单元,指的是逻辑上的一组操作,要么一起成功,要么完全失败。1、事务的四个特性(ACID)原子性 :要么都成功,要么都失败一致性 :总量不变隔离性 :多事务之间不会产生影响持久性:持久化2、在Spring中进行事务管理操作事务管理分为两种,编程式事务管理和声明式事务管理(常用)1.声明式事务管理(注解方式,常用)2.声明式事务管理(XML配置文件方式)...原创 2021-04-08 10:38:01 · 201 阅读 · 0 评论 -
Spring基础(二)-AOP
五、AOP(Aspect-Oriented Programming,面向切面编程)一.什么是AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。二.动态代理原创 2021-04-08 09:48:55 · 92 阅读 · 0 评论 -
Spring基础(一)-IOC
一、Spring概述Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。一.Spring的优势1、方便解耦,简单开发通过Spring提供的Ioc容器,可以将对象间的依赖关系交由Spring进行控制,避免过度程序耦合,可以更加专注于上层的应用。2、AOP变成的支持通过Spring的AOP功能,方便进行切面的编程,原创 2021-04-04 23:13:43 · 230 阅读 · 0 评论