
java 笔记
文章平均质量分 91
蜗牛
我要一步一步往上爬 总有一天我有属于我的天
展开
-
Maven settings.xml中配置浅析
最近遇到过不少这样那样的问题,曾经做过maven的分享,但是发现当时部分内容还是太想当然了,下面经过尝试后简单总结下:首先几个逻辑: pom>启用的profile>maven原有配置 mirror配置mirrorOf和id匹配优先 简单maven配置 一般大家的配置(略去无关私有仓库配置)都是这样的 <mirrors> <mirror> <id>nexus</id> <name&g原创 2021-08-03 15:35:09 · 1084 阅读 · 0 评论 -
Spring Boot中使用 @ConfigurationProperties 注解, @EnableConfigurationProperties
但Spring Boot提供了另一种方式 ,能够根据类型校验和管理application中的bean。 这里会介绍如何使用@ConfigurationProperties。继续使用mail做例子。配置放在mail.properties文件中。属性必须命名规范才能绑定成功。举例:1protocol and PROTOCOL will be bind to protocol field of a bean2smtp-auth , smtp_auth , smtpAuth will be bind to...原创 2021-05-19 16:28:10 · 467 阅读 · 1 评论 -
Spring Boot 之 spring.factories
1|0抛出一个问题在java spring cloud项目中,我们常常会在子模块中创建公共类库,作为驱动包。那么在另外一个子模块中,需要加载配置文件的时候,往往Spring Boot 自动扫描包的时候,只会扫描自己模块下的类。2|0抛出一个问题 首先抛出一个问题:如果想要被Spring容器管理的Bean的路径不再Spring Boot 的包扫描路径下,怎么办呢?也就是如何去加载第三方的Bean 呢? 有两种方式可以解决: 方法一、在Spring Boot App...转载 2021-04-02 18:21:47 · 397 阅读 · 0 评论 -
深入springboot原理——动手封装一个starter
Spring Boot Starter 是在 SpringBoot 组件中被提出来的一种概念,stackoverflow 上面已经有人概括了这个 starter 是什么东西,想看完整的回答戳这里Starter POMs are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related翻译 2021-04-02 18:16:09 · 890 阅读 · 0 评论 -
分布式锁原理与实现
什么是分布式锁?实现分布式锁的三种方式在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:上图可以看到,变量A存在原创 2021-03-17 16:20:03 · 281 阅读 · 0 评论 -
SpringBoot 多环境配置--常用两种方式
一、前言当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!!就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢?二、Multiple Application目前使用比较多的是配置多个application-{profile}.yml或者多个application-{profile}.properties文件的写法,一张图就能解释清楚了,如下图所示。首先配置不同环境的 ap...原创 2021-01-20 14:36:35 · 7461 阅读 · 0 评论 -
Maven远程仓库的各种配置
1.远程仓库的配置在平时的开发中,我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他远程仓库中有,如JBoss Maven仓库。这时,可以在pom.xml中配置该仓库,代码如下: 1 <!-- 配置远程仓库 --> 2 <repositories&g...转载 2018-04-02 10:59:27 · 275 阅读 · 0 评论 -
超简单,Spring boot 配置mybatis
spring boot 就是牛逼呀,任何东西只要关联到spring boot都是化繁为简。mybatis-spring-boot-starter官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot其实就是myBatis看spring boot这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很...转载 2018-04-02 11:38:43 · 23422 阅读 · 0 评论 -
SpringBoot开发案例之配置静态资源文件路径
摘要: 前言 SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的访问是必不可少的,比如:image、js、css 等资源的访问。 默认静态资源路径 Spring Boot 对静态资源映射提供了默认配置,静态资源路径都是在classpath中: classpath:/..前言SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的...原创 2018-05-09 16:29:51 · 30833 阅读 · 2 评论 -
mq的基本介绍和基本用法
一 、什么是MQ,有什么用 MQ 是message queue ,消息队列,也叫消息中间件,遵守JMS(java message service)规范的一种软件。(同时还有另一个叫AMQP的应用层协议,语言无关性不受产品 语言等限制,rabbitMQ支持这个 )是类似于数据库一样需要独立部署在服务器上的一种应用,提供接口给其他系统调用。主要用于各个系统之间通信的解耦。二、MQ是干嘛...原创 2018-12-05 20:50:01 · 12729 阅读 · 0 评论 -
less 命令详解
less 命令详解less 与more命令类似,但可以通过翻页键查看上下页的内容-b<缓冲区大小> 设置缓冲区的大小-e 当文件显示结束后,自动离开-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g 只标志最后搜索的关键词-i 忽略搜索时的大小写-m 显示类似more命令的百分比-N 显示每行的行号-o<文件名> 将less 输出的内容在...原创 2019-01-08 16:37:29 · 4507 阅读 · 0 评论 -
函数式接口
一、什么是函数式接口?(1)、只包含一个抽象方法的接口,称为函数式接口。(2)、你可以通过Lambda表达式来创建该接口的对象。(若Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。(3)、我们可以在任意函数式接口上使用@FunctionalInterface注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会包含一条声明,说明这个接口是...原创 2019-08-23 15:41:57 · 220 阅读 · 0 评论 -
Spring Boot 使用Redis
前言本篇介绍如何在Spring Boot中使用Redis。准备工作需要准备一下东西:一个Spring Boot项目本机安装好Redis服务器本篇目录如下:Spring Boot集成RedisRedis的三种加载配置方式使用Redis并进行测试使用Redis缓存SpringBoot集成Redis1.引入reids包spring-boot-starter-redis(springboot版本1.4版本...原创 2018-03-22 15:57:17 · 6597 阅读 · 0 评论 -
如何使用RedisTemplate访问Redis数据结构
Redis 数据结构简介Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型结构存储的值结构的读写能力String可以是字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作;对象和浮点数执行自增(incremen...原创 2018-02-26 13:46:09 · 372 阅读 · 0 评论 -
常用的 正则表达式 .
1。^\d+$ //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]*$ //匹配正整数 3。^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4。^-[0-9]*[1-9][0-9]*$ //匹配负整数 5。^-?\d+$ //匹配整数 6。^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7。^(原创 2011-11-25 00:34:45 · 398 阅读 · 0 评论 -
File文件类各种操作
import java.io.*;public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath String 如 c:/fqf * @return boolean */ public void newFolder(String fold原创 2012-03-19 11:26:48 · 720 阅读 · 0 评论 -
InputStream与String,Byte之间互转
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; /** * * @author Andy.Chen * @mail Chenju原创 2012-05-30 10:17:16 · 621 阅读 · 0 评论 -
java 获取汉字拼音的首字母
在项目中要更能根据某些查询条件(比如姓名)的首字母作为条件进行查询,比如查一个叫“张三”的人,可以输入‘zs'。写了一个工具类如下:/**GB 2312-80 把收录的汉字分成两级。第一级汉字是常用汉字,计 3755 个, * 置于 16~55 区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字, * 计 3008 个,置于 56~87 区,按部首/笔画顺序排列,所以本程序只原创 2012-06-05 11:15:44 · 760 阅读 · 0 评论 -
Spring加载properties文件的两种方式
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式。下面分别讨论下这两种方式。1. 通过xml转载 2017-12-29 14:23:13 · 1773 阅读 · 0 评论 -
MyBatis之传入参数parameterType
在MyBatis的select、insert、update、delete这些元素中都提到了parameterType这个属性。MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值复杂数据类型:包含JAVA实体类、Map。通过#{属性原创 2017-12-29 17:20:46 · 266 阅读 · 0 评论 -
Maven下用MyBatis Generator生成文件
由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的dao、bean、mapper xml文件。这里主要通过IDEA工具,来讲解实现;使用Maven命令用MyBatis Generator生成MyBatis的文件步骤如下:原创 2018-01-23 15:27:32 · 336 阅读 · 0 评论 -
Spring mvc 通过@ResponseBody注解返回数据
@ResponseBody作用: 该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。使用时机: 返回的数据不是html标签的页面,而是其他某转载 2018-01-16 14:48:35 · 20006 阅读 · 2 评论 -
SpringMVC的返回值类型
Springmvc 支持如下的返回方式:一种是返回页面的数据,另外一种是通过@ResponseBody注解返回的数据不是html标签的页面,而是其他某种格式的数据(如json、xml等)。本文主要讲返回的是页面数据类型。下一遍会讲@ResponseBody注解返回的数据ModelAndViewModelModelMapMapViewStrin原创 2018-01-16 14:22:56 · 1196 阅读 · 0 评论 -
Mybatis 加载 Mapper配置的四种方式
前言Mybatis 的Mapper 是指Mybatis 执行数据库操作的接口类以及方法,在非注解模式下,还包含与类对应的 xml 配置文件。第一种依据 Mapper 类 具体路径 配置 Mapper这种情况下,如果是非注解模式的话xml配置文件必须和这个类在同一级目录,且与Mapper类同名[html] view plain copy转载 2018-01-16 16:41:06 · 13523 阅读 · 0 评论 -
SpringMVC @ResponseBody和@RequestBody使用
Springmvc进行json交互(1)请求json、输出json,要求请求的是json串,所以在前端页面中需要将请求的内容转成json,不太方便。(2)请求key/value、输出json。此方法比较常用。@ResponseBody用法作用:该注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的H原创 2018-01-17 16:09:07 · 686 阅读 · 0 评论 -
冒泡排序
1:冒泡排序对几个无序的数字进行排序,比较常用的方法是冒泡排序法。冒泡法排序是一个比较简单的排序方法,在待排序的数列基本有序的情况下排序速度较快。基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看原创 2011-11-20 21:49:59 · 463 阅读 · 0 评论