大家好,我是升仔
1、 基本概念
Spring框架: Spring是一个开源的Java平台,自2003年以来一直是Java企业级应用开发的主导技术。它提供了一个全面的编程和配置模型,用于现代Java基于组件的应用。Spring的核心特性是依赖注入(DI)和面向切面编程(AOP)。
Spring Boot: Spring Boot是Spring的一个模块,它于2014年推出。Spring Boot的主要目标是简化Spring应用的初始搭建及开发过程。它通过“约定大于配置”的原则,提供了一套默认的配置,使得开发者可以快速启动和运行Spring应用。
2、 配置方式
Spring配置: 传统的Spring框架依赖于大量的XML配置,虽然后来也支持了基于注解的配置,但是整体上配置工作量较大。
// Spring XML配置示例
Spring Boot配置: Spring Boot极大地简化了配置过程。它支持基于Java的配置,并且自动配置了许多常用的组件。
// Spring Boot Java配置示例
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
注解@SpringBootApplication
包含了@Configuration
、@EnableAutoConfiguration
和@ComponentScan
,这些都是Spring Boot的核心注解,简化了配置。
3、 依赖管理
Spring依赖管理: 在Spring中,你需要手动声明项目中使用的所有依赖。
org.springframework
spring-core
5.2.0.RELEASE
Spring Boot依赖管理: Spring Boot使用了一种特殊的方式来处理依赖——“起步依赖”。这些起步依赖是预先配置好的依赖集合,可以简化构建配置。
org.springframework.boot
spring-boot-starter-web
spring-boot-starter-web
包含了开发web应用所需的所有依赖,如Spring MVC、Tomcat等。
4、 嵌入式容器支持
Spring容器: 在传统的Spring框架中,你通常需要部署你的应用到一个外部的Servlet容器中,如Tomcat或Jetty。
Spring Boot容器: Spring Boot支持嵌入式容器,如Tomcat、Jetty或Undertow,无需部署外部容器即可运行。
// Spring Boot嵌入式容器示例
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args); // 自动启动嵌入式Tomcat
}
}
5、 自动配置
Spring自动配置: Spring并没有提供太多自动配置,大多数情况下你需要手动配置你的beans和依赖。
Spring Boot自动配置: Spring Boot提供了大量的自动配置,这些配置基于你项目中的jar依赖。
// Spring Boot自动配置示例
@SpringBootApplication
public class MyApplication {
// 应用启动时,Spring Boot会自动配置大部分所需的组件
}
结论:
Spring Boot并不是要替代Spring,而是在Spring的基础上提供了更快速、更简洁的开发体验。它通过简化配置、提供自动配置和嵌入式容器支持,使得创建和部署Spring应用变得更加容易。如果你是在寻找快速开发和简化部署的方案,那么Spring Boot是一个非常好的选择。而对于需要更细粒度控制和定制化的项目,传统的Spring框架仍然是一个强大的工具。
最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。
这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软
本文已收录于我的技术网站,next-java.com, 有大厂完整面经,工作技术等经验分享
点赞对我真的非常重要!在线求赞,加个关注非常感激