Spring系列
关于Spring系列的技术分享
JustinNeil
年少是你未醒的梦话,风华是燃尽的彼岸花
展开
-
解决Spring对静态变量无法注入问题
解决Spring对静态变量无法注入问题问题引入解决方案 问题引入 今天遇到了一个问题一个注入的URL一直为NULL,原来是因为static关键字,Spring并不支持对静态成员变量注入,所以光使用@Autowired肯定是不行的,那么该如何解决这个问题呢。 解决方案 通过Set方法注入,但需要注意的是,静态变量生成的set方案仍然带有static关键字,需要去掉才能成功注入 @Autowired...原创 2019-11-20 18:50:26 · 559 阅读 · 0 评论 -
0配置文件搭建Spring
目录前言工程创建导入依赖创建Config文件SpringConfigSpringMVCConfig加载Config实现自定义的拦截器创建Controller和Service用于测试测试 前言 本文主要介绍如何使用java搭建没有配置文件的SpringMVC,包括web.xml文件 工程创建 创建一个Spring Initializrg工程 其余选择默认即可 导入依赖 <?xml versio...原创 2019-07-26 10:03:06 · 135 阅读 · 0 评论 -
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
SSM框架——详细整合教程基本概念SpringSpringMVCMyBatis环境搭建SSM整合项目创建引入项目依赖的jar包配置SpringMVC配置日志使用Tomcat测试Spring与MyBatis的整合建立数据库配置文件db.properties 基本概念 Spring Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 SpringMVC Spring MVC ...原创 2019-07-12 20:34:53 · 1139 阅读 · 0 评论 -
Spring与SpringMVC的整合
Spring容器与SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器中,无法访问SpringMVC容器中定义的Bean。在Web开发中,Controller全部在SpringMVC中扫描,除了Controller之外的Bean,全...原创 2019-07-11 19:21:44 · 158 阅读 · 0 评论 -
Spring之BeanFactoryPostProcessor
Spring IoC容器允许BeanFactoryPostProcessor在容器实例化任何bean之前读取bean的定义(配置元数据),并可以修改它。同时可以定义BeanFactoryPostProcessor,通过设置’order’属性来确定各个BeanFactoryPostProcessor执行顺序。 注册一个BeanFactoryPostProcessor实例需要定义一个Java类来实现...原创 2019-07-10 10:00:15 · 263 阅读 · 0 评论 -
Spring之BeanPostProcessor
BeanPostProcessor该接口我们也叫后置处理器,作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。注意是Bean实例化完毕后及依赖注入完成后触发的。 该接口的方法 方法 说明 postProcessBeforeInitialization 实例化、依赖注入完毕,在调用显式的初始化之前完成一些定制的初始化任务 postProc...原创 2019-07-10 09:31:54 · 136 阅读 · 0 评论 -
Spring之InstantiationAwareBeanPostProcessor
InstantiationAwareBeanPostProcessor是BeanPostProcessor的子接口,该接口的作用是感知Bean实例化的处理器。 该接口除了继承自父接口的两个方法外,还定义了三个方法 方法 描述 postProcessBeforeInstantiation 自身方法,是最先执行的方法,它在目标对象实例化之前调用,方法到的返回值是Object类型,我们可...原创 2019-07-10 08:56:42 · 1932 阅读 · 1 评论 -
Spring之Aware接口
Aware接口从字面上翻译过来是感知捕获的含义。单纯的bean(未实现Aware系列接口)是没有知觉的;实现了Aware系列接口的bean可以访问Spring容器。这些Aware系列接口增强了Spring bean的功能,但是也会造成对Spring框架的绑定,增大了与Spring框架的耦合度。(Aware是“意识到的,察觉到的”的意思,实现了Aware系列接口表明:可以意识到、可以察觉到)。 Aw...原创 2019-07-09 19:35:52 · 159 阅读 · 0 评论 -
BeanFactory和FactoryBean
BeanFactory接口 BeanFactory接口是Spring容器的核心接口,负责:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖 Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统...原创 2019-07-09 17:43:38 · 427 阅读 · 0 评论 -
Spring容器加载过程分析
IOC类图结构 各个接口的作用 接口名 说明 BeanFactory 定义了基本IOC容器的规范,包含像getBean()这样的IOC容器的基本方法 HierarchicalBeanFactory 增加了getParentBeanFactory()的接口功能,使BeanFactory具备了双亲IOC接口的关联功能 ConfigurableBeanFactory 主要定义了...原创 2019-07-09 11:19:44 · 6215 阅读 · 0 评论 -
SpringFrameWork(8)
Spring中的事务处理 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原...原创 2019-07-08 21:25:14 · 109 阅读 · 0 评论 -
SpringFrameWork(7)
JdbcTemplate JdbcTemplate就是采用AOP思想,将Jdbc操作中的模板代码全部简化,开发者只需要完成最核心的SQL以及结果的检索 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="...原创 2019-07-08 13:54:40 · 182 阅读 · 0 评论 -
SpringFrameWork(6)
基于aspectJ方式的实现AOP 对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring又将AspectJ的对于AOP的实现也引入到了自己的框架中。在Spring中使用AOP开发时,一般使用AspectJ的实现方式 AspectJ中的通知类...原创 2019-07-08 08:29:27 · 181 阅读 · 0 评论 -
SpringFrameWork(5)
AOP AOP概念 AOP就是面向切面编程,指的是在业务代码执行的过程中动态的嵌入其他代码。 就是将交叉业务逻辑封装成切面,利用AOP的功能将切面织入到主业务逻辑中。所谓交叉业务逻辑是指,通用的、与主业务逻辑无关的代码,如安全检查、事务、日志等。若不使用AOP,则会出现代码纠缠,即交叉业务逻辑与主业务逻辑混合在一起。这样,会使主业务逻辑变的混杂不清。 常见的使用场景: 权限检查 日志记录 事务 数...原创 2019-07-07 08:25:16 · 313 阅读 · 0 评论 -
SpringFrameWork(4)
Profile 在实际开发中,项目上线前,可能需要不断在开发环境,测试环境,生产环境之间切换,Profile就用于实现这种切换。 创建实体类 public class DataSource { private String url; private String userName; private String password; public String getUrl() { re...原创 2019-07-05 17:04:45 · 235 阅读 · 0 评论 -
SpringFrameWork(3)
IOC IOC配置controller,service,dao层 Controller层 public class UserController { private UserService userService; public void say() { System.out.println("Controller"); } public UserService getUserS...原创 2019-07-04 20:34:38 · 175 阅读 · 0 评论 -
SpringFrameWork(2)
IOC 静态工厂注入 创建实体类 public class User { public void run() { System.out.println("run"); } public void say() { System.out.println("say"); } } 创建静态工厂类 public class UserFactory { public static User...原创 2019-07-02 15:12:05 · 122 阅读 · 0 评论 -
SpringFrameWork(1)
Spring简介 官网地址:https://spring.io/ Spring(Spring Framework) 是一个开源框架,最早由Rod Johnson创建,并在《Expert One-on-One:J2EE Design and Development》这本著作中进行了介绍。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJ...原创 2019-07-01 17:41:38 · 165 阅读 · 0 评论 -
Scheduled实现定时任务
Scheduled实现定时任务前言创建项目创建一个定时任务类开启定时任务测试 前言 本文主要讲解如何使用Spring实现定时任务调度。在读完这篇文章后,你将会了解到如何使用@Sheduled注解实现每隔一段时间执行任务。 创建项目 首先创建一个Spring Boot工程,无需导入任何依赖 创建一个定时任务类 每5秒打印一次时间 package com.yjn.schedule; import o...原创 2019-09-04 10:14:32 · 539 阅读 · 0 评论 -
Spring实现批处理任务
Spring实现批处理任务前言创建业务数据编写SQL脚本创建实体类创建一个中间处理器 前言 本文主要讲述基本的批处理任务的解决方案。 创建业务数据 手动创建一个文件来模拟业务数据 src/main/resources/sample-data.properties Jill,Doe Joe,Doe Justin,Doe Jane,Doe John,Doe 编写SQL脚本 接下来写一个sql脚本创建...原创 2019-09-04 11:17:37 · 685 阅读 · 0 评论 -
使用MockMvc进行单元测试
使用MockMvc进行单元测试 在前后端分离的项目中,我们经常需要测试接口,除了使用第三方工具或是接口文档进行测试,我们还可以在测试代码中使用MockMvc进行单元测试。 首先创建一个被测试的接口 @RestController public class HelloController { @GetMapping("/hello") public String hello()...原创 2019-09-13 21:15:15 · 627 阅读 · 0 评论