EasySpring-Boot(一) 手写Springboot 适合新手的小项目 启动类注解 看这个就够了 源代码 内嵌Tomcat 自动配置 自动专配多模态自动配置类

0 EasySpring-Boot (一)

项目简介:
EasySpring-Boot是一个简易版的Spring Boot框架的复现,旨在帮助开发者更好地理解Spring Boot框架的核心原理和功能。通过实现基本的依赖注入、自动配置和Web功能,EasySpring-Boot展示了一个简单的应用程序框架的搭建过程。
在EasySpring-Boot中,实现了一个简单的应用上下文(MyApplicationContext)来管理Bean的注册和依赖注入,以及一个简单的配置类(MyConfiguration)来定义Bean和自动配置。通过这个简易版的Spring Boot框架,开发者可以更深入地了解Spring框架的工作原理,并在此基础上进行扩展和定制化开发。
EasySpring-Boot项目旨在帮助初学者和开发者更好地理解Spring Boot框架的实现原理,同时也可以作为学习和实践Spring框架的一个简单示例项目。源代码会在后续发出

1. 项目准备

1.1 原始项目依赖引入

<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-contextartifactId>
  <version>5.3.23version>
dependency>

<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-webartifactId>
  <version>5.3.23version>
dependency>

<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-webmvcartifactId>
  <version>5.3.23version>
dependency>

<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-aopartifactId>
  <version>5.3.23version>
dependency>

<dependency>
  <groupId>javax.servletgroupId>
  <artifactId>javax.servlet-apiartifactId>
  <version>3.1.0version>
dependency>

<dependency>
  <groupId>org.apache.tomcat.embedgroupId>
  <artifactId>tomcat-embed-coreartifactId>
  <version>9.0.65version>
dependency>

1.1.1 依赖解析

  1. org.springframework:spring-context:5.3.23:Spring框架的核心容器,提供IoC(控制反转)和DI(依赖注入)功能,包括BeanFactory、ApplicationContext等。
  2. org.springframework:spring-web:5.3.23:Spring Web模块,提供构建Web应用程序的基本功能和特性,如Web框架、RESTful服务等。
  3. org.springframework:spring-webmvc:5.3.23:Spring MVC模块,提供基于MVC(模型-视图-控制器)架构的Web应用程序开发支持,用于构建Web应用程序的控制器和视图。
  4. org.springframework:spring-aop:5.3.23:Spring AOP模块,提供面向切面编程的支持,用于实现横切关注点的模块化,如事务管理、日志记录等。
  5. javax.servlet:javax.servlet-api:3.1.0:Java Servlet API,用于支持开发基于Servlet的Web应用程序,定义了Servlet容器和Servlet规范。
  6. org.apache.tomcat.embed:tomcat-embed-core:9.0.65:Tomcat嵌入式核心,用于在应用程序中嵌入Tomcat容器,方便开发和测试Web应用程序。

1.1.2 依赖实现

当使用这些依赖时,可以通过以下方式来展示每个依赖的具体用途:

  1. org.springframework:spring-context:5.3.23:
    • 例子:在Spring应用程序中创建并管理Bean
    • 代码示例:
@Configuration
public class AppConfig {
   
    @Bean
    public MyBean myBean() {
   
        return new MyBean();
    }
}
  1. org.springframework:spring-web:5.3.23:
    • 例子:创建一个简单的Spring Web应用程序
    • 代码示例:
@Controller
public class MyController {
   
    @RequestMapping("/")
    public String home() {
   
        return "index";
    }
}
  1. org.springframework:spring-webmvc:5.3.23:
    • 例子:使用Spring MVC构建一个基于MVC架构的Web应用程序
    • 代码示例:
@Controller
public class MyController {
   
    @RequestMapping("/hello")
    public String hello(Model model) {
   
        model.addAttribute("message", "Hello, Spring MVC!");
        return "hello";
    }
}
  1. org.springframework:spring-aop:5.3.23:
    • 例子:使用Spring AOP实现日志记录
    • 代码示例:
@Aspect
@Component
public class LoggingAspect {
   
    @Before("execution(* com.example.service.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
   
        System.out.println("Before method: " + joinPoint.getSignature().getName());
    }
}
  1. javax.servlet:javax.servlet-api:3.1.0:
    • 例子:创建一个Servlet处理HTTP请求
    • 代码示例:
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   

你可能感兴趣的:(Spring系列使用与源码追踪,spring,boot,tomcat,后端,idea,maven,java,spring)