- SpringBoot中资源可以默认被访问的路径
76e
场景:SpringBoot项目中新建一个html文件,那么这个文件放在哪些路径下时可以无需配置,默认就能被访问?IDEA中新建SpringBoot项目,找到SpringBoot源码文件ResourceProperties.class源码文件ResourceProperties.class重点关注这行代码:privatestaticfinalString[]CLASSPATH_RESOURCE_LO
- SpringBoot源码解读与原理分析(五)SpringBoot的装配机制
灰色孤星A
springbootjava后端spring开发语言
文章目录2.5SpringBoot的装配机制
[email protected]@ComponentScan的基本使用方法2.5.1.2TypeExcludeFilter(类型排除过滤器)2.5.1.3AutoConfigurationExcludeFilter(自动配置类排除过滤器)
[email protected]@EnableAutoConf
- java面试题/认证答辩 ---主流框架(springboot)
Fuly1024
面试刷题spring
springboot源码解读:springboot2.4.4#https://blog.csdn.net/qq_32828253/article/details/109496848#https://zhuanlan.zhihu.com/p/95217578以下所有知识均来自于网络从main方法开始publicstaticvoidmain(String[]args){//SpringApplicat
- 手撕spring bean的加载过程
ForestSpringH
springbootweb学习javaspring后端
这里我们采用手撕源码的方式,开始探索springboot源码中最有意思的部分-bean的生命周期,也可以通过其中的原理理解很多面试以及工作中偶发遇到的问题。springboot基于约定大于配置的思想对spring进行优化,使得这个框架变得更加轻量化,集成各种starter组件时使其能够更加全面。1、SpringApplication启动类的配置与软件包的反射加载通常我们在建立一个新的springb
- SpringBoot源码解读与原理分析(六)WebMvc场景的自动装配
灰色孤星A
springboothive后端spring开发语言java
文章目录2.6WebMvc场景下的自动装配原理2.6.1WebMvcAutoConfiguration2.6.2Servlet容器的装配2.6.2.1EmbeddedTomcat、EmbeddedJetty、EmbeddedUndertow2.6.2.2BeanPostProcessorsRegistrar(后置处理器的注册器)2.6.2.3两个定制器的注册2.6.3DispatcherServl
- SpringBoot源码解读与原理分析(七)BeanFactory
灰色孤星A
springbootjava后端spring开发语言
文章目录3SpringBoot的IOC容器3.1SpringFramework的IOC容器3.1.1BeanFactory3.1.1.1BeanFactory根接口3.1.1.2HierarchicalBeanFactory3.1.1.3ListableBeanFactory3.1.1.4AutowireCapableBeanFactory3.1.1.5ConfigurableBeanFactor
- SpringBoot源码解读与原理分析(二十五)IOC容器的刷新(六)
灰色孤星A
springbootjava后端开发语言spring
文章目录7.12完成容器的创建工作7.12.1LifecycleProcessor7.12.2getLifecycleProcessor().onRefresh()7.13清除缓存7.14IOC容器初始化中的扩展点7.14.1invokeBeanFactoryPostProcessors7.14.1.1ImportSelector和ImportBeanDefinitionRegistrar7.14
- SpringBoot源码解读与原理分析(十四)SpringApplication的总体设计
灰色孤星A
springbootjava后端spring
文章目录4SpringBoot的核心引导:SpringApplication4.1总体设计4.1.1启动失败的错误报告4.1.2Bean的延迟初始化4.1.3SpringApplication的定制4.1.4Web类型推断4.1.5监听与回调1.核心监听类SpringApplicationRunListener2.SpringBoot新引入的事件4.1.6应用退出4SpringBoot的核心引导:
- SpringBoot源码解读与原理分析(二十二)IOC容器的刷新(三)ConfigurationClassPostProcessor
灰色孤星A
springbootjava后端开发语言spring
文章目录7.5.7ConfigurationClassPostProcessor7.5.7.1processConfigBeanDefinitions的主体逻辑7.5.7.2ConfigurationClassParser7.5.7.3ConfigurationClassParser的parse方法(1)处理@Component注解(2)处理@PropertySource注解(3)处理@Compo
- SpringBoot源码解读与原理分析(二十四)IOC容器的刷新(五)
灰色孤星A
springbootjava后端spring开发语言
文章目录7.11初始化所有剩下的单实例bean对象7.11.1beanFactory.preInstantiateSingletons7.11.2getBean7.11.2.1别名的解析处理7.11.2.2判断是否已注册过7.11.2.3创建前的检查7.11.2.4标记准备创建的bean对象7.11.2.5合并BeanDefinition7.11.2.6bean对象的创建7.11.2.7getSi
- SpringBoot源码解读与原理分析(十一)BeanDefinition
灰色孤星A
springbootjavaspring后端
文章目录3.5BeanDefinition3.5.1BeanDefinition概述3.5.3BeanDefinition的结构与设计3.5.3.1AttributeAccessor3.5.3.2BeanMetadataElement3.5.3.3AbstractBeanDefinition3.5.3.4GenericBeanDefinition3.5.3.5ChildBeanDefinition
- SpringBoot源码解读与原理分析(十二)后置处理器
灰色孤星A
springbootjava后端spring
文章目录3.6后置处理器3.6.1后置处理器概述3.6.2BeanPostProcessor3.6.2.1BeanPostProcessor概述1.postProcessBeforeInitialization2.postProcessAfterInitialization3.6.2.2BeanPostProcessor的扩展1.InstantiationAwareBeanPostProcesso
- SpringBoot源码解读与原理分析(十三)IOC容器的启动流程
灰色孤星A
springbootjavaspring后端
文章目录3.7IOC容器的启动流程1.prepareRefresh——初始化前的预处理2.obtainFreshBeanFactory——初始化BeanFactory3.prepareBeanFactory——BeanFactory的预处理动作4.postProcessBeanFactory——BeanFactory的后置处理5.invokeBeanFactoryPostProcessors——执
- SpringBoot源码解读与原理分析(九)SpringBoot对IOC容器的拓展
灰色孤星A
springbootjava后端spring
文章目录3.2SpringBoot对IOC容器的拓展3.2.1WebServerApplicationContext3.2.2AnnotationConfigServletWebServerApplicationContext3.2.3ReactiveWebApplicationContext3.3SpringBoot选择注解驱动的原因3.3.1配置方式的对比3.3.1.1历史背景的比较3.3.1
- SpringBoot源码解读与原理分析(入门)
果办办
springbootspringboot
SpringBoot源码解读与原理分析(入门)简介:由Pivotal团队提供的全新框架其设计目的是用来简化新Spring应用的初始搭建以及开发过程使用了特定的方式来进行配置快速应用开发领域运行原理以及特点特点:可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;内嵌Tomcat或Jetty等Servlet容器;提供自动配置的“starte
- SpringBoot源码解读与原理分析(八)ApplicationContext
灰色孤星A
springboot后端javaspring开发语言
文章目录3.1.2ApplicationContext3.1.2.1ApplicationContext根接口3.1.2.2ConfigurableApplicationContext3.1.2.3EnvironmentCapable3.1.2.4MessageSource3.1.2.5ApplicationEventPublisher3.1.2.6ResourcePatternResolver3
- SpringBoot源码解读与原理分析(二十)IOC容器的刷新(一)
灰色孤星A
springbootjava后端spring开发语言
文章目录7IOC容器的刷新7.1初始化前的预处理7.1.1初始化属性配置7.1.2初始化早期事件的集合7.2初始化BeanFactory7.2.1注解驱动的refreshBeanFactory7.2.2XML驱动的refreshBeanFactory7.2.3获取BeanFactory7.3BeanFactory的预处理配置7.3.1ApplicationContextAwareProcessor
- SpringBoot源码解读与原理分析(二十一)IOC容器的刷新(二)
灰色孤星A
springbootjava后端spring开发语言
文章目录7.4BeanFactory准备工作完成后的后置处理7.4.1回调父类方法7.4.1.1ServletContextAwareProcessor7.4.1.2注册Web应用的作用域7.4.2组件扫描&解析手动传入的配置类7.5BeanFactory创建后的后置处理器的执行7.5.1分离现有(传入)的BeanFactory后置处理器7.5.2执行最高优先级的BeanDefinitionReg
- SpringBoot自动装配原理源码分析(详细)
coderedma
springbootjava后端
SpringBoot自动装配原理源码分析1.前言2.SpringBoot源码2.1@SpringBootApplication注解2.2@EnableAutoConfiguration注解2.2.1selectImports方法2.2.2getAutoConfigurationEntry方法2.2.3getCandidateConfigurations方法2.2.4loadFactoryNames
- java web初始化实例,SpringBoot源码分析-初始化Tomcat-ServletWebServerFactory实例化
Wang Eric
javaweb初始化实例
概要详细剖析ServletWebServerFactory实例化过程,整个过程使用多次后置处理对Bean实例化进行干预,完成TomcatServletWebServerFactory进行初始化ServletWebServerFactory实例化Spring容器在刷新容器的时候创建WebServer之前,先要创建ServletWebServerFactoryServletWebServerFacto
- 【Spring Boot 源码学习】BootstrapRegistry 详解
Huazie
开发框架-SpringBootspringboot源码学习对象注册表Scope
《SpringBoot源码学习系列》BootstrapRegistry详解一、引言二、往期内容三、主要内容3.1源码初识3.2register方法3.3registerIfAbsent方法3.4isRegistered方法3.5getRegisteredInstanceSupplier方法3.6addCloseListener方法3.7InstanceSupplier内部接口类3.7.1get方法
- Spring学习第2篇:IoC控制反转 与 DI依赖注入
怪 咖@
#Springspring学习java
大家家好,我是一名网络怪咖,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也是经常会问到,SpringBoot是为了简化Spring开发,但是底层仍然是Spring。如果不了解Spring源码,那就更别提SpringBoot源码了,接下来我准备用两个月时间,从基础到源码彻彻底
- springboot源码理解三、自动配置(第三方依赖中的bean)
CaptainCats
SpringBootspringbootspringjava
自动配置(第三方依赖中的bean)springboot是如何进行自动配置的@SpringBootApplication@SpringBootConfiguration@EnableAutoConfiguration@AutoConfigurationPackage@Importspringboot会自动将一些类注册进springIoC容器,包括有项目根目录下的、第三方依赖中的。这次我们讲第三方依赖
- SpringBoot 源码解析5:ConfigurationClassPostProcessor整体流程和@ComponentScan源码分析
hao9e
springbootjava后端
SpringBoot源码解析5:ConfigurationClassPostProcessor整体流程和@ComponentScan源码分析1.知道以下几点,读ConfigurationClassPostProcessor源码会更轻松2.源码解析ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry2.1Configura
- SpringBoot 源码解析4:refresh 方法解析
hao9e
springbootjava后端
SpringBoot源码解析4:refresh方法解析1.refresh方法解析2.准备刷新AbstractApplicationContext#prepareRefresh3.获取bean工厂AbstractApplicationContext#obtainFreshBeanFactory4.准备bean工厂AbstractApplicationContext#prepareBeanFactor
- Springboot源码分析之jar探秘
dqqzj
摘要:利用IDEA等工具打包会出现springboot-0.0.1-SNAPSHOT.jar,springboot-0.0.1-SNAPSHOT.jar.original,前面说过它们之间的关系了,接下来我们就一探究竟,它们之间到底有什么联系。文件对比:进入target目录,unzipspringboot-0.0.1-SNAPSHOT.jar-djar命令将springboot-0.0.1-SNA
- 【apollo在springboot中运行原理】
不务专业的程序员--阿飞
springboot源码分析springboot后端java
系列文章目录Springboot源码分析之apollo配置文章目录系列文章目录前言一、apollo是如何完成初始化的,拉取配置的呢1.apollo的初始化阶段2.初始化RemoteConfigRepository3.同步远程配置4.发布`ConfigFileChangeEvent`事件总结前言配置中心我相信有一年开发经验的程序员都听过吧,有三年开发经验的程序100%都使用过配置中心配置吧。apol
- 顿悟!新手都能学懂的SpringBoot源码分析!
W998
概述日志是一个系统必不可缺少的东西,记录了系统运行时的点点滴滴,便于我们了解自己系统的运行状态,在我们使用SpringBoot时,默认就已经提供了日志功能,使用Logback作为默认的日志框架。那么,接下来我们依赖来看看SpringBoot是如何初始化好日志系统的。关于Spring的知识点总结了一个图谱,分享给大家:Spring知识总结.jpg为什么SpringBoot默认的日志框架是Logbas
- SpringBoot源码分析篇一
for62
springbootspringbootspringjava
SpringBoot源码分析篇一org.springframework.bootspring-boot-starter-parent2.7.1SpringApplication认知基本介绍此类可以用来引导和发起一个源于Javamain()方法的Spring应用。默认执行以下步骤引导应用:1、创建适当的ApplicationContext实例(依赖于classpath)2、注册CommandLine
- SpringBoot源码启动流程(待完善)
kk_0910
springboot
目录SpringBoot源码启动流程1.构造SpringApplication对象2.run(String...args)方法SpringApplicationRunListener.starting创建EnvironmentSpringApplicationRunListeners.environmentPrepared打印Banner创建Spring容器ApplicationContextIn
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
- pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
- [能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
- 类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
- 新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
- oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
- Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
- linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
- eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
- 关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
- JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
- 表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
- LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
- 【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
- 大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
- http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
- J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
- 修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
- c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
- hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
- mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
- ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
- Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
- Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
- 批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
- 跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
- Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
- C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
- spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
- SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts