[Spring]深度解析系列 - 概述

2019-11-02  本文已影响0人  起个名忒难

2018.5 月的时候 写过一篇文章 - Spring IOC 实现原理,到现在有8000多的阅读了吧。 看来还是有很多人在研究IOC的实现原理。当时写的比较粗糙。所以准备这次来一个详细点的。计划写一个深度解析的系列 。想法很好,能不能完成说实话我也不是很确定。因为工作比较忙,尽量吧。

之前的文章,链接在这 ,点我 ,为了控制每篇文章的篇幅,在之前文章已经描述过的概念,就不再赘述,因为此系列是基于上一篇文章的扩展,建议读一下之前的那篇文章,直接进入正题。

此系列计划会有6篇文章:

现在springboot很流行,新创建的项目基本上都是使用的springboot ,开发者几乎不用再搞一堆很长的配置文件,springboot已经封装好了。当然带来的好处就是,开箱即用,也有弊端,屏蔽了底层的实现,对原理理解起来也更难了。为了使逻辑更加的清晰,或者更容器找到解析的入口,此系列依然采用Springmvc的文件配置方式。

环境准备
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">

    <bean id="messageService" class="com.yuluo.source.service.MessageServiceImpl"/>
</beans>
public static void main(String[] args) {
 //SpringApplication.run(SpringDemo2Application.class, args);
 // 用我们的配置文件来启动一个 ApplicationContext
 ApplicationContext context = new ClassPathXmlApplicationContext("classpath:application.xml");
 System.out.println("context 启动成功");
 // 从 context 中取出我们的 Bean,而不是用 new MessageServiceImpl() 这种方式
 MessageService messageService = context.getBean(MessageService.class);
 // 这句将输出: hello world
 System.out.println(messageService.getMessage());
 }
public interface MessageService {
 String getMessage();
}
public class MessageServiceImpl implements MessageService {
 public String getMessage() {
 return "hello world";
 }
}

至此,一个基本的调试程序,就已经搭好了,使用断点就可以进入源码的流程调试了。

上一篇下一篇

猜你喜欢

热点阅读