![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
穿条秋裤到处跑
Wu,Rosen Wanlong
展开
-
spring整合cxf开发rest风格的webservice接口(客户端&服务端)
前面文章记录了在spring中如何整合cxf开发webservice客户端和服务端,其实,相较于原生开发方式,已经有了不少优化。rest风格的开发,作为一种极为流行的开发规范,可以帮助我们更加简洁高效的发布服务,接收服务。客户端添加依赖之前的都是jaxws,现在都将w编程了r,也就是rest的意思。<dependency> <groupId>or...原创 2020-03-15 14:36:52 · 830 阅读 · 1 评论 -
spring整合cxf,轻松编写webService客户端、服务端
WebService是一种跨编程语言、跨操作系统平台的远程调用技术,广泛应用在实际开发,接口实现,系统集成。服务端List item添加maven依赖项目中除了spring相关的依赖以外,还需添加下面两个依赖。 <dependency> <groupId>org.apache.cxf</groupId> <a...原创 2020-03-14 21:57:40 · 1595 阅读 · 0 评论 -
基础XML配置的AOP与基于注解实现的AOP详细对比
aop思想通过动态代理,一定程度上实现了代码的解耦。我们可以将日志模块,权限校验,事物等模块,与核心的业务代码相隔离,让程序员在写代码的时候,能够更加专注于业务。基于注解实现AOP步骤:①将目标类与切面类都加入到ioc容器中。目标类该用啥注解用啥,切面类通常用@Component即可。另外,记得在applicationContext.xml文件中配置包扫描。②为切面类标注@Aspect...原创 2020-03-11 16:38:35 · 1450 阅读 · 1 评论 -
spring aop中使用@Pointcut注解抽取可重用的切入点表达式
针对同一个切入点,如果有多个通知方法将切入时,通常我们需要标注多个注解,每个注解需要使用切入点表达式,告诉spring,当前通知方法在何时执行。当一个切入点需要更改时,就需要同时更改多个。为了避免这种麻烦,提高切入点表达式的可重用性,以此衍生出的@Pointcut,可以用于标志一个切入点。示例:如前文中的切面类StudentServiceLogger ,针对StudentServiceIm...原创 2020-03-10 12:54:56 · 1562 阅读 · 1 评论 -
spring aop如何在切面类中获取切入点相关方法的参数、方法名、返回值、异常等信息
aop思想可以很好的帮助我们实现代码的解耦,比如我们之前提到的,将日志代码与业务层代码完全独立,通过spring aop的代理类进行整合。在切面类中,我们也能够通过spring提供的接口,很好的获取原切入点的相关信息。首先,我们还是从代码着手业务层代码StudentServiceImpl@Service("studentService")public class StudentServ...原创 2020-03-10 10:51:36 · 8268 阅读 · 1 评论 -
简单六步上手spring aop,通过各种类型通知,面向切面编程,实现代码解耦(超详细)
aop(面向切面编程)是一种重要的编程思想,是对面向对象编程的完善和补充。我们都很熟悉“高内聚,低耦合”,这是评判代码是否优质的标准之一,而aop思想,就是对这一标准的具体实现。简单地,我们可以从“日志模块”角度来理解aop如何实现解耦。以往的方式,我们会在业务代码中嵌套许多了如System.out.print("xxx")或logger.error("xxxx")等方式,实现日志的记录,打...原创 2020-03-09 20:34:15 · 363 阅读 · 0 评论 -
spring中使用@Autowired实现自动装配流程分析
@Autowired注解能够高效的帮助我们实现自动装配bean,当前,前提是存在对应的bean已经放置入我们的ioc容器中。我们从一个简易的Controller类着手,顺便回忆一下springMVC的部分知识。在我的AccountController类中,类名标注了@Controller,说明该类会以控制器组件,加入到容器中,类和方法上都有@RequestMapping注解,那么我就可以通...原创 2020-03-03 10:28:06 · 641 阅读 · 0 评论 -
web.xml中配置DispatcherServlet前端控制器和CharacterEncodingFilter字符过滤器后web-app标签显红报错
可以确定的是,DispatcherServlet和CharacterEncodingFilter配置的子项都是正确的,去掉任何一个,红色报错都会消失。查看具体的报错信息如下:“(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,se...原创 2020-02-26 15:36:13 · 2670 阅读 · 0 评论 -
springMVC使用拦截器针对控制器方法做预处理、后处理、资源清理
过滤器与拦截器:过滤器是servlet规范中的一部分,任何java web工程都可以使用;在url-pattern中配置/*之后,可以对所有要访问的资源拦截。拦截器是springMVC框架自己的一部分,只有使用springMVC框架的工程才能用;拦截器只会拦截控制器方法,即Controller中的方法,访问jsp,HTML,css,image,js是不会进行拦截的。...原创 2020-02-26 11:51:42 · 892 阅读 · 0 评论 -
springMVC异常处理器:自定义异常处理器捕获系统异常,控制异常页面跳转
首先看一个异常页面404/500可能是大家最熟悉的两个错误代码,在传统方式下,代码遇到类如1/0这样的异常时,我们可以用try-catch捕获,交给前端控制器处理,如果前端控制器没有规范好异常处理器来处理这些异常,则会交由浏览器处理,也就出现了上图所看到的那样。这个页面对于开发人员也还好,一眼就能看到问题出哪儿了。可是,对于操作人员而言,则显得不是那么友好了。所以,可以定义一个异常处理器,分...原创 2020-02-24 22:49:16 · 755 阅读 · 0 评论 -
springMVC结合jersey实现跨服务器文件上传
除了spring相关的依赖依赖,我们需要添加jersey的两个相关依赖,版本信息可以不同。 <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>...原创 2020-02-24 20:29:59 · 330 阅读 · 0 评论 -
使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传
springMVC提供的前端控制器,可以拦截所有请求,指挥调度所有后台逻辑资源。使用传统方式进行文件上传,需要我们手动解析request对象,获取文件上传项,再进行文件的上传。springMVC框架可以帮助我们完成对象解析的工作,这大大简化了开发人员文件上传逻辑的编写。首先,我们需要在springmvc.xml配置文件中配置文件解析器 <bean id="multi...原创 2020-02-21 16:08:54 · 1005 阅读 · 2 评论 -
spring通过CharacterEncodingFilter过滤器解决中文乱码
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-par...原创 2020-02-20 21:20:08 · 1023 阅读 · 0 评论 -
springMVC设置静态资源过滤器,过滤js、css、images等静态资源
首先看个index.jsp首页的代码<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>主页</title> <script src="js/jquery.min.js"></sc...原创 2020-02-20 11:23:29 · 1891 阅读 · 5 评论 -
springMVC从发送hello请求到响应的执行流程分析
启动tomcat服务器后,借助springMVC框架,我们可以很方便高效控制客户端发出的各种请求。分析请求执行流程前,我们需要了解一下服务器启动时,都做了什么。tomcat服务器启动加载项加载web.xml文件这一点大家应该都熟知了,不多赘述。加载Servlet我们不妨回忆一下web.xml的部分内容。<servlet> <servlet-name>...原创 2020-02-19 11:40:33 · 688 阅读 · 0 评论 -
使用IDEA编写一个springMVC架构的HelloWorld
之前一直使用eclips或myeclips,刚开始上手idea开发,那个不习惯的感觉,令人心碎。都说idea好用,所以我们还是需要些时间和耐心来习惯这款强大的IDE。所有的程序,从一个helloWorld小程序开始。创建工程。idea中工程的意义与我们熟悉的eclipse有些差异,更加类似于后者的workspace。idea的project下可以创建多个module,这一点类似于ec...原创 2020-02-18 20:17:26 · 349 阅读 · 1 评论 -
springBoot笔记(一) @SpringBootApplication的神奇魔力
通过IDEA快速创建一个springBoot项目后,Group根路径下会有一个带有@SpringBootApplication注解的启动类,示例如下:package com.wuwl;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBoo...原创 2019-09-19 21:06:59 · 191 阅读 · 0 评论 -
Idea不能显示类的继承关系,pom文件的右键属性中也没有Diagrams选项(已解决)
今天在使用idea的过程中,莫名发现,pom文件中点击右键,没有show Dependencies或者Diagrams选项,并且java类也不能显示集成关系,查阅了一下资料,很多人推荐重装软件,或者是配置文件,特别是maven的settings.xml的问题,不过,根据我使用软件的经验来看,重装软件,很大概率上解决不了问题。经过多番尝试,终于找到了解决之道,方法如下:UML Suppor...原创 2019-09-10 17:23:18 · 8586 阅读 · 5 评论 -
Spring中bean属性注入方式总结:构造方法、setter注入、p命令空间注入、SpEL注入、集合注入
1. 构造方法注入constructor-arg用于配置构造方法一个参数name :参数的名称value:设置普通数据 ref:引用数据,一般是另一个bean id值index :参数的索引号,从0开始 。如果只有索引,匹配到了多个构造方法时,默认使用第一个。type :确定参数类型目标类public class Student { private int id; priva...原创 2019-07-29 18:18:16 · 589 阅读 · 0 评论