
Spring系列
喜鹊先生Richard
眼界之外,是更大的世界。
展开
-
SpringBoot打jar包失败问题解决(无主清单属性或无依赖文件)
一、问题背景使用maven对SpringBoot项目打jar包,jar包无法正常运行,出现如下问题:问题1:xxx.jar中没有主清单属性问题2:Error: A JNI error has occurred, please check your installation and try againCaused by: java.lang.ClassNotFoundException: XXX表面上报错是找不到依赖包的某一类,实际上解压jar包发现相关依赖并没有打进去二、问题解决原创 2020-12-02 14:44:30 · 821 阅读 · 0 评论 -
SpringBoot项目,配置Redis多数据源
一、maven依赖Springboot版本: 1.5.6.RELEASE<!--redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--多数据源--><depend原创 2020-06-08 14:23:47 · 539 阅读 · 0 评论 -
Spring高级话题-测试
一、关于Spring中的测试在开发过程中开发人员会经常使用到两种测试方式,单元测试和集成测试单元测试:只针对单一的类或方法,对运行环境没有依赖集成测试:需要来自不同层的不同对象的交互,如数据库,网络连接,ioc容器等Spring通过Spring TestContext Framework对集成测试提供了顶级的支持补充: 基于Maven构建的项目结构默认有关于测试的目录:测试代...原创 2019-12-09 16:48:10 · 211 阅读 · 0 评论 -
Spring高级话题-@Enable*注解的工作原理
一、@Enable*注解的工作原理我们通过使用@Enable*来开启某一项功能的支持,从而避免配置大量大麦,降低使用难度通过观察源码,@Enable*注解都使用了@Import注解,@Import是用来导入配置类的,这就意味着@Enable*的实现是通过导入了一些自动配置的Bean来实现的二、导入配置方式的三种类型1. 直接导入配置类如:@EnableScheduling@Ta...原创 2019-12-09 16:47:29 · 516 阅读 · 0 评论 -
Spring高级话题-元注解与组合注解
一、什么是元注解、组合注解元注解:可以注解到别的注解上的注解组合注解: 被注解的注解二、annotationCombineDemo组合注解package com.cactus.demo.annotation_combine;import org.springframework.context.annotation.ComponentScan;import org.springf...原创 2019-12-09 16:46:33 · 241 阅读 · 0 评论 -
Spring高级话题-条件注解
一、什么是条件注解根据特定的条件来控制Bean的创建行为使用到的注解 @Conditional二、如何使用条件注解通过实现Condition接口并重写matches方法(构造判断条件)来实现一个条件判断类在配置Bean时使用@Conditional注解,并指定条件判断类,实现有条件地创建Bean三、conditionDemo通过判断程序在什么系统下运行,来创建对应的Be...原创 2019-12-09 16:45:44 · 336 阅读 · 0 评论 -
Spring高级话题-计划任务
一、什么是计划任务就相当于一个定时器,可以使代码在固定的日期时间执行二、在Spring中如何使用计划任务使用@EnableScheduling开启对计划任务的支持使用@Scheduled声明一个计划任务 (支持多类型,包括cron, fixDelay, fixRate)三、scheduleDemo配置类package com.cactus.demo.schedule;im...原创 2019-12-09 16:45:00 · 189 阅读 · 0 评论 -
Spring高级话题-多线程
一、Spring中的多线程如何使用Spring通过TaskExecutor(任务执行器)来实现多线程和并发编程,通过ThreadPoolTaskExecutor实现以基于线程池的TaskExecutor。在实际使用中,我们需要通过@EnableAsync来开启对异步任务的支持,通过@Async来声明一个异步任务二、AsyncDemo实现一个基于线程池的异步任务demo配置类...原创 2019-12-09 16:44:18 · 320 阅读 · 0 评论 -
Spring高级话题-Aware
一、Aware是什么?Spring Aware就是一些定义了Spring容器本身功能资源的接口Spring提供的Aware接口接口备注BeanNameAware获得到容器中Bean的名称BeanFactoryAware获得当前 bean factory,这样可以调用容器的服务ApplicationContextaware*当前的 applicatio...原创 2019-12-09 16:24:38 · 297 阅读 · 0 评论 -
Spring常用配置-Event
一、什么是Event?Spring的Event(事件)为Bean与Bean之间的消息通信提供了支持。通俗来说,当BeanA处理完事情,我们希望BeanB知道BeanA处理了这件事情并作出相应处理,这个时候我们就要用到Event了二、如何使用Event?自定义事件,继承ApplicationEvent定义事件监听器,实现ApplicationListener使用容器发布事件...原创 2019-10-15 16:13:54 · 307 阅读 · 0 评论 -
Spring常用配置-Profile
一、Profile是什么?在企业开发中,项目开发环境和产品环境的配置是不同的(如数据库的配置)。Profile为不同环境下使用不同的配置提供了支持二、如何使用profile通过设定Environment的ActiceProfile来设定当前context(容器)需要使用的配置环境开发中通常使用@Profile注解,达到不同情况实例化不同Bean的目的三、ProfileDem...原创 2019-10-15 16:12:49 · 211 阅读 · 0 评论 -
Spring常用配置-Bean的初始化和销毁
一、如何Bean的生命周期进行操作Spring对Bean的生命周期操作提供了支持java配置方式: 使用Bean的initMethod和destoryMethod进行配置二、BeanWayDemoBeanpackage com.cactus.demo.beanway;/** * Created by liruigao * Date: 2019-10-15 14:19 * D...原创 2019-10-15 16:11:44 · 194 阅读 · 0 评论 -
Spring常用配置 - EL及使用资源文件
一、Spring EL是什么?Spring表达式语言,支持在xml和注解中使用表达式,类似于JSP的el表达式语言。二、怎么使用?Spring主要在 @Value注解 使用表达式, 实现资源的注入。可以注入包括以下内容:普通字符操作系统属性表达式运算结果其他Bean的属性文件内容网址内容属性文件三、ELDemo一个憨憨的Beanpackage com.cac...原创 2019-10-15 16:10:40 · 381 阅读 · 0 评论 -
Spring常用配置 - Bean的Scope
一、Scope是什么?Scope: 描述Spring容器如何创建Bean的实例二、Scope具体内容@Scope的value有5个,分别解释下:@Scope意义SingletonSpring的默认配置,一个Spring容器中只有一个Bean的实例Prototype每次调用都会新建一个Bean的实例RequestWeb项目中,会给每个http req...原创 2019-10-15 16:09:33 · 236 阅读 · 0 评论 -
Spring基础配置
Spring框架的四大原则:使用POJO进行轻量级和最小侵入式开发通过依赖注入和基于接口编程实现松耦合通过AOP和默认习惯进行声明式编程使用AOP和模板(template)减少模式化代码对四大原则的理解可以看这里一、依赖注入1.依赖注入的概念:依赖注入是指容器负责创建对象和维护对象间的依赖关系,而非通过对象本身负责自己的创建和解决自己的依赖。2.依赖注入的主要目的:...原创 2019-10-11 16:22:37 · 267 阅读 · 0 评论 -
Spring项目快速搭建
一、MavenMaven简介Apache Maven是一个软件项目管理工具。基于项目对象模型的概念,maven可用来管理项目的依赖、编译、文档等信息。使用Maven管理项目时,项目依赖的jar包将不再包含在项目内,而是集中在用户目录下的.m2文件夹下Maven安装详情见https://maven.apache.org/download.cgipom.xmlMaven项目都有一个p...原创 2019-10-11 16:20:21 · 293 阅读 · 0 评论 -
Spring 概述
一、Spring概述The Spring Framework is an application framework and inversion of control container for the Java platform. The framework’s core features can be used by any Java application, but there are ...原创 2019-10-11 16:18:28 · 348 阅读 · 0 评论 -
Spring之AOP
Spring之AOP【什么是aop?】AOP,Aspect-Oriented Programming 面向切面编程【AOP的由来】OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需 要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。AOP技术利用一种称为“横切”的...原创 2018-09-26 17:02:43 · 254 阅读 · 0 评论 -
Spring之IOC与DI
Spring之IOC与DI【概念】什么是IOC?Inversion of Control,即控制反转将创建对象的控制权(控制),交给spring去创建并且管理(反转)什么是DI?Dependency Injection,即依赖注入将创建好的对象通过注入维护关系解释:使用spring创建的对象,通常都是单例模式。假设有两个类是组合关系,类B是类A的成员变量,若我们要用到A中的B,那...原创 2018-09-17 22:31:40 · 194 阅读 · 0 评论