随笔分类 - Java
摘要:第1章 Java基础 1.1 注解 1.1.1 什么是注解? 1.1.2 内置注解 1.1.3 元注解 1.1.4 自定义注解 1.1.5 注解使用场景介绍 1.2 反射 1.2.1 反射机制 1.2.2 理解Class类 1.2.3 反射的使用 1.3 小结 第2章 Spring基础 2.1 Sp
阅读全文
摘要:在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器、上传war包到容器、重启容器、访问应用。 1.创建tomcat容器 使用docker run -d --name cmdtomcat -p 8080:8080 tomcat命令启动了tomcat容器,在浏览器输入
阅读全文
摘要:正常情况下SpringBoot项目是以jar包的形式,正常情况下SpringBoot项目是以jar包的形式,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服务器。正因如此,也出现了一个问题: 上传到项目的文件,如果是保存在项目中的,那么重启过后文件就会丢失
阅读全文
摘要:Swagger是一组围绕OpenAPI规范构建的开源工具,可帮助设计、构建、记录和使用REST API。简单说下,它的出现就是为了方便进行测试后台的restful形式的接口,实现动态的更新,当我们在后台的接口修改了后,swagger可以实现自动的更新,而不需要认为的维护这个接口进行测试。 Swagg
阅读全文
摘要:一 、RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件,消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下: 从上图可看出,对于消息队列来说,生产者、消息队
阅读全文
摘要:在了解Spring的DAO模块时需要有一定的数据库基础,Java语言与数据库连接使用的是JDBC,所以有必要学习下JDBC的内容。 1.JDBC介绍 JDBC (Java DB Connection) Java数据库连接。JDBC是一种可用于执行SQL语句的JAVA API(ApplicationP
阅读全文
摘要:一、AOP的引入这里可以把单个模块当做是一圆柱,假如没有aop,在做日志处理的时候,我们会在每个模块中添加日志或者权限处理,日志或权限类似圆柱体的部分圆柱。 一般大多数的日志或权限处理代码是相同的,为了实现代码复用,我们可能把日志处理抽离成一个新的方法。 但是这样我们仍然必须手动插入这些方法,而且这
阅读全文
摘要:在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性。该属性控制着bean对象的作用域。本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的。 一、Bean的作用域在Bean容器启动会读取bean的xml配置文件,然后将xml中每个bean元素分别转
阅读全文
摘要:Bean的配置中介绍的是Bean声明问题,在哪声明怎么声明的问题。Bean的注入是怎么实例化,怎么注入的问题。Bean注入的方式有两种,一种是在XML中配置,另一种则是使用注解的方式注入。 一、XML方式注入 XML方式注入一般有三种方式:属性注入、构造函数注入和工厂方法注入。 一、属性注入在传统的
阅读全文
摘要:在博客中为了演示容器Bean实例化时暴露出的几个接口,将UserBean配置在XML中,其实常见的Bean的配置有3种。1.基于xml配置Bean 2.使用注解定义Bean 3.基于java类提供Bean定义信息。 一、基于xml配置Bean 基于XML配置Bean时,Spring通过<bean>配
阅读全文
摘要:在前面博客中介绍什么是依赖注入时有提到:依赖注入是组件之间依赖关系由容器在运行期决定,即由容器动态的将某个依赖关系注入到组件之中。那什么是容器?既然Spring框架实现了IOC,那Spring中的容器是什么呢? 一、容器介绍在日常生活中容器是指用以容纳物料并以壳体为主的基本装置,它是用来盛放东西的。
阅读全文
摘要:一、反射机制 在前面Java语法之注解自定义注解时我们也有提到反射,要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation对象。那什么是反射呢?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法
阅读全文
摘要:上一博客学习了SpringBoot集成Redis,今天这篇博客学习下Mybatis操作中使用Redis做缓存。这里其实主要学习几个注解:@CachePut、@Cacheable、@CacheEvict、@CacheConfig。 一、基础知识 @Cacheable @Cacheable 的作用 主要
阅读全文
摘要:一、Lettuce Redis这里就不多说,服务端的启动之前的博客里面也有提到,这里略过。Lettuce和Jedis都是连接Redis Server的客户端程序,Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例线程间并发访问,且线程安全,
阅读全文
摘要:定时任务有好多开源框架比如Quartz,@Scheduled是Spring的一个定时任务注解,通过注解配置就能够轻量级的定时任务,简单方便。 一、@Scheduled注解介绍 这里先贴上@Scheduled注解。然后下面的这几个属性的介绍。 * Copyright 2002-2018 the ori
阅读全文
摘要:注解其实在其他语言也有,只是叫法不一样,在C#中叫特性,其实都是一个意思。今天就是了解下Java的注解。 一、什么是注解 我们先看官方解释:它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上
阅读全文
摘要:上一篇了解了Druid进行配置连接池的监控和慢sql处理,这篇了解下使用基于基于Druid配置Mybatis多数据源。SpringBoot默认配置数据库连接信息时只需设置url等属性信息就可以了,SpringBoot就会基于约定根据配置信息实例化对象,但是一般大型的项目都是有多个子系统或者多个数据源
阅读全文
摘要:Druid:为监控而生的数据库连接池.这篇先了解下它的简单使用,下篇尝试用它做多数据源配置。主要参考:https://github.com/alibaba/druid/wiki/常见问题 https://github.com/alibaba/druid/tree/master/druid-sprin
阅读全文
摘要:上一博客介绍了下SpringBoot基于注解引入Mybatis,今天介绍基于XML引入Mybatis。还是在上一篇demo的基础上进行修改. 一、Maven引入 这个与上一篇的一样,需要引入mybatis相关和mysql相关的,这里就不多说。 二、创建Model 这里还是用User这个model,与
阅读全文
摘要:今天学习下SpringBoot集成mybatis,集成mybatis一般有两种方式,一个是基于注解的一个是基于xml配置的。今天先了解下基于注解的mybatis集成。 一、引入依赖项 因为是mybatis嘛,肯定是要有mybatis相关的,同时用的是mysql,所以也需要引入mysql相关的。 二、
阅读全文