![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 59
学习记录,及经验总结
ynchyong
本人男,bb程序员
展开
-
JAVA 目录
目录原创 2021-12-17 10:59:47 · 478 阅读 · 0 评论 -
Configuration和AutoConfiguration
1. 相同点都用使用@Configuration 注解.可以加 ·@Bean、@Import、@ImportResource.用 @Condition 来控制加载条件.2 不同点2.1 使用方式@Configuration –Application的用户,直接代码进行配置的。AutoConfiguration 是给 Springboot 插件(xxxx.xxx.starter)使用用的。2.2 加载的方式@Configuration加载是由@ComponentScan指定的pac原创 2021-08-04 15:13:40 · 7013 阅读 · 0 评论 -
java 逻辑运算的不短路
不短路与 &int a=4;int b=3;if(a==4 & b++>5){ System.out.println("a:"+a+" b:"+b);//a:4 b:4}不短路或 |不短路所有表达式都被执行到原创 2021-06-30 10:13:21 · 121 阅读 · 0 评论 -
JAVA 日志
扥刚解开;‘原创 2021-03-31 11:54:10 · 60 阅读 · 0 评论 -
spring security
文章目录1. AuthenticationEntryPoint2. UsernamePasswordAuthenticationFilter类3. 验证核心的工作者(AuthenticationProvider)3.1 supports验证3.1 Authentication authenticate(Authentication authentication)4. 小结1. AuthenticationEntryPoint2. UsernamePasswordAuthenticationFilt原创 2021-03-10 15:40:57 · 96 阅读 · 0 评论 -
BeanName生成规则
生成规则xml 方式<bean class="com.xxxx.UserService"></bean>beanName: com.xxxx.UserService#0注解@Componentpublic class UserService() { ... } beanName: userService@Componentpublic class VUserService() { ... } beanName:VUserService...原创 2021-03-09 09:29:29 · 194 阅读 · 0 评论 -
Language Level 5
问题描述IDEA中默认的Language Level 5(即对应JDK1.5),修改为了8(即对应JDK1.8),但是每次引入新的maven依赖,自动刷新成Language Level 5。修改方法这样修改重新当如后又会恢复 Language Level 5,最终解决方案:在pom.xml 文件中增加插件如下:<build> <plugins> <plugin><!--设置JDK 版本-->原创 2021-03-08 09:22:00 · 285 阅读 · 1 评论 -
Spring 相同类型的 bean如何装配
1. 概述今天带你了解一下 Spring 框架中的 @Qualifier 注解,它解决了哪些问题,以及如何使用它。我们还将了解它与 @Primary 注解的不同之处。更多的技术解析请访问 felord.cn2. 痛点使用 @Autowired 注解是 Spring 依赖注入的绝好方法。但是有些场景下仅仅靠这个注解不足以让Spring知道到底要注入哪个 bean。默认情况下,@Autowired 按类型装配 Spring Bean。如果容器中有多个相同类型的 bean,则框架将抛出 NoUniqueBe转载 2021-03-05 10:49:57 · 2584 阅读 · 1 评论 -
Unable to create XADataSource
错误信息org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/XADataSourceAutoConfiguration.class]: Bean instantiation via factory method原创 2021-03-05 10:32:47 · 495 阅读 · 3 评论 -
java 开发随笔
文章目录1. Spring Boot 自动扫描包1. Spring Boot 自动扫描包Config 类和 SpringBoot 需要在同一级目录下(或子目录)才能扫描扫描其他包- 启动类在 @Import(value={xxxConfig.class})- 在 resources\META-INF创建 spring.factories 文件# Auto Configureorg.springframework.boot.autoconfigure.EnableAutoConfigurat原创 2021-03-04 10:46:47 · 95 阅读 · 1 评论 -
Spring Cloud Gateway
文章目录1.综述2. Predicate 断言2.1 路由断言Factories2.2 Before 路由断言 Factory2.3 Between 路由断言 Factory2.4 Cookie 路由断言 Factory2.5 Host 路由断言 Factory2.6 Method 路由断言 Factory2.7 Path 路由断言 Factory2.8 Query 路由断言 Factory2.9 RemoteAddr 路由断言 Factory3. GatewayFilter Factories3.1原创 2021-02-24 10:33:14 · 245 阅读 · 0 评论 -
主清单属性
SpringBoot打包后解压:在 META-INF有一个MANIFEST.MF文件,该文件指明了程序的入口以及版本信息等内容,如下Manifest-Version: 1.0Implementation-Title: jrzc-payImplementation-Version: 1.0.0Start-Class: cn.stylefeng.guns.GunsApplicationSpring-Boot-Classes: BOOT-INF/classes/Spring-Boot-Lib: BOO原创 2021-02-23 11:07:59 · 665 阅读 · 0 评论 -
java System.getProperty
System.getPropertySystem.getProperty("user.dir") //:E:\Work\Projects\github\java\demoSystem.getProperty("app.home") //:nullSystem.getProperty("user.home") //:C:\Users\Administrator原创 2021-02-23 10:57:26 · 288 阅读 · 0 评论 -
微服务
文章目录1 微服务1 微服务原创 2021-02-20 11:07:09 · 86 阅读 · 0 评论 -
pom.xml文件中的parenty与dependencyManagement
1. parenty1.1 parent 所在项目 <modelVersion>4.0.0</modelVersion> <!--pom 也可能引用--> <parent> <groupId></groupId> <artifactId></artifactId> <version></version> </parent> &原创 2021-02-20 10:04:23 · 380 阅读 · 0 评论 -
nacos
文章目录1. nacos 集群1.1 数据库配置1.2 集群配置1.1.3 生产环境2. 数据模型引入多个配置文件1. nacos 集群1.1 数据库配置#*************** Config Module Related Configurations ***************#### If use MySQL as datasource:spring.datasource.platform=mysql### Count of DB:db.num=1### Connect原创 2021-02-19 17:42:57 · 2803 阅读 · 0 评论 -
Linux 安装 JAVA
删除默认的 java环境 apt-get remove openjdk*下载文件在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下下载对应版本的java下载文件jdk-8u281-linux-x64.tar.gz解压到/usr/local/java配置环境 vi /etc/pfofile在最后增加:export JAVA_HOME=/usr/local/java/jdk1..原创 2021-02-05 14:01:14 · 190 阅读 · 1 评论 -
java Virtual Machine Launcher
下载java 开发的 安装包出现,点击安装运行时出现:因为打包的人不注意环境或其他别的原因导致错误出现。解决使用压缩软件解压该程序,可能得到 install.jar 文件使用命令行:java -jar "C:\Users\Administrator\Downloads\install.jar" 直接进行安装...原创 2021-01-22 09:30:22 · 7276 阅读 · 0 评论 -
纷杂的spring-boot-starter
纷杂的spring-boot-starter简述应用日志和spring-boot-starter-logging快速Web应用开发与spring-boot-starter-web项目结构层面的约定SpringMVC框架层面的约定和定制嵌入式Web容器层面的约定和定制数据访问与spring-boot-starter-jdbcSpringBoot应用的数据库版本化管理简述1)基于Spring框架的“约定优先于配置(COC)”理念以及最佳实践之路。2)提供了针对日常企业应用研发各种场景的spring-boo原创 2021-01-13 10:28:12 · 352 阅读 · 2 评论 -
SpringBoot
Spring Boot@SpringBootApplication背后的秘密@EnableAutoConfiguration的功效可有可无的@ComponentScanSpringApplication:SpringBoot程序启动的一站式解决方案SpringApplication的run方法的实现条件的配置能力或者调整加载顺序基于条件的自动配置调整自动配置的顺序SpringBoot是Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物可原创 2021-01-12 11:11:45 · 112 阅读 · 0 评论 -
CommandLineRunner
@CommandLineRunnerCommandLineRunner不是Spring框架原有的“宝贝”,它属于SpringBoot应用特定的回调扩展接口:public interface CommandLineRunner { void run(String... args) throws Exception;}CommandLineRunner需要大家关注的其实就两点:1)所有CommandLineRunner的执行时点在SpringBoot应用的Application-Contex原创 2021-01-12 11:05:07 · 398 阅读 · 0 评论 -
ApplicationContextInitializer
ApplicationContextInitializerApplicationContextInitializer也是Spring框架原有的概念,这个类的主要目的就是在ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们对ConfigurableApplicationContext的实例做进一步的设置或者处理。实现一个ApplicationContextInitializer很简单,因为它只有一个方法需要实现原创 2021-01-12 11:01:30 · 284 阅读 · 0 评论 -
ApplicationListener
ApplicationListener属于Spring框架对Java中实现的监听者模式的一种框架实现,这里唯一值得着重强调的是,对于初次接触SpringBoot,但对Spring框架本身又没有过多接触的开发者来说,可能会将这个名字与SpringApplicationRunListener混淆。如果我们要为SpringBoot应用添加自定义的ApplicationListener,有两种方式:1)通过SpringApplication.addListeners(…)或者SpringApplication原创 2021-01-12 10:57:36 · 8005 阅读 · 0 评论 -
SpringApplicationRunListener
SpringApplicationRunListenerSpringApplicationRunListener是一个只有SpringBoot应用的main方法执行过程中接收不同执行时点事件通知的监听者:public interface SpringApplicationRunListener { void started(); void environmentPrepared(ConfigurableEnvironment environment); void contextP原创 2021-01-12 10:53:24 · 806 阅读 · 0 评论 -
自动配置的幕后英雄--SpringFactoriesLoader
SpringFactoriesLoaderSpringFactoriesLoader属于Spring框架私有的一种扩展方案(类似于Java的SPI方案java.util.ServiceLoader),其主要功能就是从指定的配置文件META-INF/spring.factories加载配置,spring.factories是一个典型的java properties文件,配置的格式为Key=Value形式,只不过Key和Value都是Java类型的完整类名(Fully qualified name),比如:e原创 2021-01-12 10:16:56 · 147 阅读 · 0 评论 -
Spring
IoC容器和AOP是Spring的核心,是Spring系统中其他组件模块和应用开发的基础。降低应用的负载和框架的侵入性EJB模型为Java EE开发引入了过度的复杂性,POJO 它让Java洗净铅华,恢复其自然的风采。因为依赖注入的特性,这些复杂的依赖关系的管理被反转了,它们的管理交给了容器通过使用IoC容器,对象依赖关系的管理转到IoC容器中来了,对象之间的相互依赖关系由IoC容器进行管理,并由容器完成对象的注入。这样就在很大程度上简化了应用的开发,把应用从复杂的对象依赖关系管理中解放出来。Sp.原创 2021-01-08 15:24:29 · 56 阅读 · 0 评论 -
分布式事务
分布式事务 Seata AT模式原理AT写隔离读隔离XATCCSagaAT,XA,TCC,SagaSeata 提供四种模式解决分布式事务场景,AT,XA,TCC,Saga。TC (Transaction Coordinator) - 事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚。TM (Transaction Manager) - 事务管理器定义全局事务的范围:开始全局事务、提交或回滚全局事务。RM (Resource Manager) - 资源管理器管理分支事务处理的资源,与原创 2021-01-08 11:19:37 · 235 阅读 · 0 评论 -
栈和队列--读《疯狂java》
栈和队列1 栈 Stack2.队列3 循环队列4. 双向队列1 栈 Stack栈的英文单词是Stack,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入、删除操作。栈是一种数据结构,它代表只能在某一端进行插入、删除操作的特殊线性表,通常就是在线性表的尾端进行插入、删除操作。对于栈而言,允许进行插入、删除操作的一端被称为栈顶(top),另一端则被称为栈底(bottom)。如果一个栈不包含任何元素,那这个栈就被称为空栈。从栈顶插入一个元素被称为进栈,将一个元素插入栈原创 2021-01-07 16:34:56 · 120 阅读 · 0 评论 -
线性表--读《疯狂java》
线性表1.线性表概述1.1 插入1.2 删除2. 链式存储结构2.1 单链2.2 双向链表2.2.1 双向链表的查找2.2.2 双向链表的插入2.2.3 双向链表的删除2.3 循环链表2.4 线性功能从数据的逻辑结构来分,数据元素之间存在的关联关系被称为数据的逻辑结构。归纳起来,应用程序中的数据大致有如下4类基本的逻辑结构。集合:数据元素之间只有“同属于一个集合”关系。线性结构:数据元素之间存在一个对一个的关系。树形结构:数据元素之间存在一个对多个的关系。图状结构或网状结构:数据元素之间存在多个原创 2021-01-07 16:20:15 · 86 阅读 · 0 评论 -
java 异常--读《疯狂java》
java 异常--读《疯狂java》1.正确关闭资源2.finally块的陷阱返回值finally 块 总结catch块的顺序不要用catch代替流程控制不能用catch 捕获 不可能抛出的异常继承得到的异常1.正确关闭资源public class CloseResource3 { public static void main(String[] args) throws Exception {原创 2021-01-07 15:56:12 · 115 阅读 · 0 评论 -
Java 中的陷阱--读《疯狂java》 笔记
Java 中的陷阱1. switch2.标签forinstanceof运算符的陷阱1. switch对于switch语句的表达式而言,它只能是如下5种数据类型。byte:字节整型。short:短整型。int:整型。char:字符型。enum:枚举型。需要指出的是,switch表达式的类型绝对不能是String类型,也不能是long、float、double等其他基本类型2.标签Java语句的标签可以与循环中的break、continue结合使用,让break直接终止标签所标识的循环原创 2021-01-07 11:49:13 · 95 阅读 · 0 评论 -
java表达式--读《疯狂java》 笔记
java表达式1. 字符串2. 表达式类型的陷阱3.输入法导致的陷阱4. 注解5. 转义字符的陷阱6.慎用字符的Unicode转义形式7. 中止行注释的转义字符8. 泛型可能引起的错误原始类型变量的赋值原始类型带来的擦除表达式是Java程序里最基本的组成单元,各种表达式是Java程序员最司空见惯的内容, 只是在这些简单用法背后,依然有一些很容易让人出错的陷阱。1. 字符串String java = new String("疯狂Java");上面语句实际上创建了 2个字符串对象,一个是“疯狂Java原创 2021-01-06 17:47:21 · 223 阅读 · 0 评论 -
java的内存回收--读《疯狂java》 笔记
内存回收引用强引用软引用弱引用虚引用Java的内存泄漏垃圾回收机制现行的垃圾回收器Young(年轻代)Old代Permanent代与垃圾回收的附加选项常见垃圾回收器内存管理的小技巧程序员需要通过关键字new创建Java对象,即可视作为Java对象申请内存空间,JVM会在堆内存中为每个对象分配空间;当一个Java对象失去引用时,JVM的垃圾回收机制会自动清除它们,并回收它们所占用的内存空间。对于JVM的垃圾回收机制来说,是否回收一个对象的标准在于:是否还有引用变量引用该对象?只要有引用变量引用该对象,垃圾原创 2021-01-06 17:02:35 · 504 阅读 · 0 评论 -
java 常用代码块
常用代码块JSON 泛型JSON 泛型import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference; listResponse<crossingInfo> response = JSON.parseObject(jsonStr, new TypeReference<listResponse<crossingInfo>>(){});原创 2020-11-25 09:52:07 · 81 阅读 · 0 评论 -
MP 主键策略
MP 主键策略枚举类 源码全局主键策略实现使用MP 支持多种主键策略 默认是推特的“” 雪花算法“” ,也可以设置其他策略下面我演示主键策略使用枚举类 源码public enum IdType { AUTO(0), //数据库自增 依赖数据库 NONE(1), // 表示该类型未甚至主键类型 (如果没有主键策略)默认根据雪花算法生成 INPUT(2), //用户输入ID(该类型可以通过自己注册原创 2020-11-24 10:53:37 · 1289 阅读 · 0 评论 -
YUI Compressor Maven Plugin
压缩 maven 项目中的JS 与css原创 2020-11-12 17:23:37 · 565 阅读 · 1 评论 -
IntelliJ IDEA
idea 启动卡 ,jvm 设置原创 2020-11-19 11:33:42 · 267 阅读 · 0 评论 -
MyBatis传入参数与parameterType
parameterType 仅代码传入简单类型public User get(Long id) { return (User) getSqlSession().get(id); } <select id="get" parameterType="java.lang.Long" resultType="User"> select * from user where id = #{id}; </select> 传入Lis原创 2020-11-03 10:41:30 · 189 阅读 · 0 评论 -
java date 转带时区字符串
java date 转带时区字符串SimpleDateFormat总览需要的目标格式 :2017-06-15T00:00:00.000+08:00SimpleDateFormat总览发现时区有三种格式:zZX ,且X 可以叠加至 XXXSimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz");String dateStr = format.format(new Date(原创 2020-10-21 16:27:45 · 4408 阅读 · 0 评论 -
Mavan 异常
Mavan 异常处理com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage ‘./sonatype-work/nexus3/db/security’ with mode=rw DB name=“security”如果你是第一次安装 第一次使用:可能是 一开是以非管理员运行 nexus.exe /run 后提示权限 不足,又以管理员 运行 nexus.exe /run就可能出现上原创 2020-10-20 16:17:21 · 499 阅读 · 0 评论