Spring依赖注入之@Lookup注解
摘要:Spring依赖注入之@Lookup注解 在了解Spring构造器推断时看到了下列源码: 问题分析 一般我们会使用@Autowired注解来实现依赖的自动注入: 属性注入 @Component public class Xxx{ @Autowired private Aaa aaa; } 构造器注入
阅读全文
Spring MVC 实体参数默认值设置
摘要:Spring MVC 实体参数默认值设置 一、实体参数赋值过程 Controller: @RestController @RequestMapping("test/") public class TestController { @PostMapping("post_test2") public M
阅读全文
SpringBoot XStream整合
摘要:XStream使用 XStream简介 XStream使用案例1 1. 添加依赖 2. 创建没有添加任何XStream注释的实体类 3. 创建Java对象,使用XStream将对象转换成XML 转换结果为: XStream使用案例2——@XStreamAlias()注解 1. 简单说明 Alias翻
阅读全文
SpringBoot整合WebService
摘要:文件:https://github.com/xiaozhengyu/SpringBoot.git WebService远程服务端 1、新建工程service,最终工程如下: 2、添加依赖包,pom.xml内容如下: 1 <?xml version="1.0" encoding="UTF-8"?>
阅读全文
Spring命令行参数
摘要:一般我们通过java -jar xxx.jar的方式启动应用,其实除了启动应用我们还能在命令中指定应用的参数,比如java -jar xxx.jar --server.port=1234,直接以命令行的方式设置server.port属性的值,最终启动的应用的端口号被设置为1234。 在以命令行方式启
阅读全文
Spring Boot 配置文件中使用变量、使用随机数
摘要:参数引用 在application.properties中的各个参数之间可以直接通过是使用placeHolder的方式进行引用,如: 1 book.author=Clark 2 book.name=C++ 3 book.price=100.0 4 book.desc=author:${book.au
阅读全文
Java 解析Exception信息
摘要:最近的项目需要捕获系统抛出的异常,并将异常信息保存,记录以下解析Exception的方法。 异常详细信息 这里说的“异常详细信息”指的是平时打印到控制台的那种信息,如下图 这里说的“异常详细信息”指的是平时打印到控制台的那种信息,如下图 获取方法: package com.pantech.boot.
阅读全文
如何根据HttpServletRequets获取用户真实IP地址
摘要:最近的一个项目的某个功能获取用户的ip地址,添加用户的系统使用记录。 我发现当我直接使用getRemoteAddr()方法从HttpServletRequet中获取用户的ip时,获取到的是服务器的ip地址,为什么会这样呢? 网上找到的答案: “当我们通过request获取客户端IP时,自身服务器通常
阅读全文
SpringBoot拦截器没有生效的原因
摘要:最近的一个项目中,需要实现一个记录系统请求日志的功能,我通过拦截器实现了这个功能,但是,测试的时候发现拦截器没有发挥作用,检查了很久,没有发现错的地方,系统也没有报错,最终在网上找打了答案。 原来之前已经有在系统中创建了一个继承自WebMvcConfigurationSupport的配置类,所以我的
阅读全文
Spring MVC拦截器配置
摘要:Spring MVC拦截器配置 (1)自定义拦截器 (2)注册拦截器 (3)测试 图1 运行程序 图2 发送请求 图3 拦截器工作结果
阅读全文
Spring MVC常用注解
摘要:Spring MVC 常用注解 (1)@Controller @Controller注解在类上,表明这个类是SpringMVC中的Controller,将其声明为Spring的一个Bean,Dispatcher Servlet会自动扫描此注解标注的类,并将Web请求映射到使用@RequestMapp
阅读全文
Spring条件注解@Conditional
摘要:Spring4中提供了一种更通用的条件创建Bean的方式,即使用@Conditional注解。 示例: 通过在配置文件中修改ifCreate的值,来控制某个Bean的创建。 (1)创建一个实现了Condition接口的类,实现matches方法,在matches方法返回的结果决定了Bean是否被创建
阅读全文
Spring应用事件(Application Event)
摘要:Spring的事件为Bean与Bean的消息通信提供的支持。当一个Bean处理完了一个任务以后,希望另一个Bean知道并能做出相应的处理,这是我们就需要让另一个Bean监听当前Bean所发送的事件。 Spring中使用事件的大概流程如下: (1)定义事件 (2)定义事件监听器 (3)使用容器发布事件
阅读全文
Bean的初始化和销毁
摘要:在实际开发中我们可能会需要在Bean使用前和销毁前进行某些操作,Spring对Bean的生命周期的操作提供了支持,提供如下两种方式: (1)Java配置方式: 在Java配置类中,使用@Bean注解显示声明Bean的时候,通过@Bean注解的initMethod和destroyMethod为Bean
阅读全文
Spring 资源注入
摘要:Spring开发中经常需要调用各种资源,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring表达式语言(Spring-EL)实现资源的注入。 Spring主要使用@Value注解实现资源注入,在@Value注解的参数中使用Spring-EL。
阅读全文
Bean的Scope
摘要:Scope意为“范围”,Spring中通过@Scope注解描述Bean的作用范围,决定Spring容器以什么方式新建Bean。 @Scope注解中value的取值有: 1、Singleton - 一个Spring容器中只有一个该Bean的实例,所有使用到该Bean的地方共用一个Bean,value的
阅读全文
面向切面编程(AOP)
摘要:AOP:面向切面编程,相对于OOP面向对象编程。 存在即合理,任何东西的总有它存在的道理和意义。Spring 中AOP存在的意义在于解耦,功能模块间的解耦。在OOP中,如果我们想要在不同的类之间共享某个功能,我们会通过继承父类或者实现接口,但这样增加了代码的耦合程度,且Java中类只能单继承,这就阻
阅读全文
依赖注入
摘要:经常听到“控制翻转”和“依赖注入”这两个词,所以特意去了解了一下。 “在Spring中,控制翻转(Inversion of Control,IoC)是通过依赖注入(Dependency injection,DI)实现的。所谓依赖注入指的是,由Spring容器来负责对象的创建以及维护对象之间的依赖关系
阅读全文