java
文章平均质量分 62
靠才华吃饭的人
这个作者很懒,什么都没留下…
展开
-
springboot启动源码解析(四):初始化默认应用参数、准备启动环境
此章节主要对springboot启动过程中,发生的【初始化应用参数】、【准备启动环境】、【配置需要忽略的Bean】、【打印Banner】进行源码解析,对应的代码如图1所示:图1:// 初始化应用参数ApplicationArguments applicationArguments = new DefaultApplicationArguments(args);// 准备启动环境ConfigurableEnvironment environment = prepareEnvironment(l原创 2021-02-17 02:18:57 · 3070 阅读 · 2 评论 -
springboot启动源码解析(三):初始化启动上下文、初始化监听器列表、发布开始启动事件
此章节主要对springboot启动过程中,发生的【初始化启动上下文】、【初始化监听器列表】、【发布springboot开始启动事件】进行源码解析,对应的代码如下所示:// 首先初始化一个计时器,并开始了启动计时StopWatch stopWatch = new StopWatch();stopWatch.start();// 初始化启动上下文DefaultBootstrapContext bootstrapContext = createBootstrapContext();Configu原创 2021-02-15 23:02:12 · 5861 阅读 · 9 评论 -
springboot启动源码解析(二):启动的整体流程解析
springboot启动的整体流程解析在SpringApplication初始化(详见:springboot启动源码解析(一):SpringApplication初始化)之后,开始了真正意义上的启动过程,通过调用SpringApplication实例的run()方法进行启动,下面从整体流程梳理整个启动过程。 public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args)原创 2021-02-01 21:56:25 · 471 阅读 · 0 评论 -
springboot启动源码解析(一):SpringApplication初始化
初始化SpringApplicationSpringBoot通过执行@SpringBootApplication标记类的main函数中的SpringApplication.run(SpringBootTestApplication.class, args)进行启动@SpringBootApplicationpublic class SpringBootTestApplication { public static void main(String[] args) { ...原创 2021-01-30 17:47:40 · 1310 阅读 · 2 评论 -
springboot如何配置接口驼峰转下划线以及时间格式等
@Configurationpublic class ObjectMapperConfig { @Bean public MappingJackson2HttpMessageConverter messageConverter() { ObjectMapper objectMapper = new ObjectMapper(); // 统一返回数据的输出风格 objectMapper.setPropertyNamingStrategy(n.原创 2021-01-10 21:13:46 · 938 阅读 · 0 评论 -
如何开启定时任务
@Configuration@EnableSchedulingpublic class scheduledConfigTest implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { // expression 时间表达式 taskRegistrar.addCronTask(Runnable.原创 2021-01-08 09:16:49 · 436 阅读 · 0 评论 -
maven学习总结
仓库优先级:本地仓库->镜像仓库->默认中央仓库maven工程类型:pom工程:逻辑工程,用在父级工程或聚合工程中,用来做jar包的版本控制jar工程:将会打包程jar,用作jar包使用。war工程:将会打包成war,发布在服务器上的工程Maven工程GroupId:包名,一般域名反转ArtifactId:项目名,一般使用项目名字版本:SHAPSHOT(快照版,非正式版)项目间的关系依赖关系:A工程在开发或运行中需要B工程提供支持...原创 2021-01-07 21:09:17 · 161 阅读 · 0 评论 -
微服务--负载均衡--Ribbon
Ribbon的基本概念:Ribbon是Netflix开发的客户端负载均衡器,为Ribbon配置服务提供者地址列表后,Ribbon就可以基于某种负载均衡策略算法,自动地帮助服务消费者去请求服务提供者。Ribbon作为SpringCloud的负载均衡机制的实现:Ribbon可以单独使用。作为一个独立的负载均衡组件,需要手动配置服务地址列表。 Ribbon与Eureka配合使用时,Ribbon可自动从EurekaServer获取服务提供者地址列表(DiscoveryClient),并基于负载均衡算法原创 2020-11-06 18:00:28 · 411 阅读 · 1 评论 -
微服务--服务注册中心--Eureka
服务端:1、增加pom依赖:<groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>2、配置application:eureka: instance: hostname: enreka-7000 client:# register-with-eurek原创 2020-11-02 23:04:43 · 420 阅读 · 0 评论 -
ASM的基本使用
ASM是什么:ASM是一个通用的Java字节码操作和分析框架。 它可以用于修改现有类或直接以二进制形式动态生成类。 ASM提供了一些常见的字节码转换和分析算法,可以从中构建自定义复杂转换和代码分析工具。 ASM提供与其他Java字节码框架类似的功能,但专注于性能。 因为它的设计和实现尽可能小而且快,所以它非常适合在动态系统中使用(但当然也可以以静态方式使用,例如在编译器中)。1、如何用ASM读出整个类:利用ASM的ClassReader将class文件或Stream流读进ClassReader.原创 2020-10-25 15:59:25 · 2283 阅读 · 1 评论 -
设计模式:(二)代理模式
静态代理:原创 2020-10-21 22:33:55 · 200 阅读 · 0 评论 -
设计模式:(一)单例模式
①懒汉式单例该模式的特点是类加载时没有生成单例,只有当第一次调用 getlnstance 方法时才去创建这个单例。public class LazySingleton{ private static volatile LazySingleton instance=null; //保证 instance 在所有线程中同步 private LazySingleton(){} //private 避免类在外部被实例化 public static LazySingleto...原创 2020-10-13 17:00:58 · 138 阅读 · 0 评论 -
如何用mybatis进行foreach
1.在数据库url连接后加入allowMultiQueries=true参数。2.DAO层:Integer updateDepartmentIdByEmails(@Param("emails") List<String> emails, @Param("departmentId") Integer departmentId);3.Mapper:<update i...原创 2019-07-30 20:44:43 · 181 阅读 · 0 评论