spring 和springBoot区别

Spring和Spring Boot都是用于构建Java应用程序的框架,但它们之间有一些重要的区别。

  1. Spring框架是一个全功能的企业级Java应用程序框架,提供了广泛的功能,包括依赖注入、AOP、事务管理、数据访问等。使用Spring框架需要手动配置许多细节,例如数据源、日志、Web服务器等。

  2. Spring Boot是Spring框架的扩展,旨在简化Spring应用程序的开发和部署。Spring Boot提供了自动配置和约定优于配置的原则,可以快速搭建和运行基于Spring的应用程序,减少了开发人员的工作量。

下面是一个简单的例子,展示了一个使用Spring框架和Spring Boot框架的Hello World应用程序。

使用Spring框架的Hello World应用程序

复制代码
// 定义一个简单的Controller
@Controller
public class HelloWorldController {
    @RequestMapping("/")
    @ResponseBody
    public String helloWorld() {
        return "Hello, World!";
    }
}

// 配置文件
@Configuration
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

使用Spring Boot的Hello World应用程序

复制代码
@SpringBootApplication
@RestController
public class HelloWorldApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloWorldApplication.class, args);
    }

    @RequestMapping("/")
    public String helloWorld() {
        return "Hello, World!";
    }
}

在这两个例子中,可以看到使用Spring框架需要手动配置Controller、配置文件等,而使用Spring Boot框架则可以通过@SpringBootApplication注解自动配置Spring应用程序,并且不需要额外的配置文件。

相关推荐
咖啡八杯8 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
糖果店的幽灵8 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
Suhan4214 小时前
IDEA 设置启动参数和环境变量
spring boot·spring·编辑器·idea
橘子海全栈攻城狮18 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
空中湖18 小时前
Spring AI Function Calling 完全指南:让 AI 查数据库、调 API、发通知
数据库·人工智能·spring
风起洛阳@不良使18 小时前
spring中xml和注解开发的对比
xml·java·spring
weixin_7275356219 小时前
双Token认证体系深度拆解:Spring Security + JWT + Redis
redis·spring·wpf
Ethan010720 小时前
spring事务隔离级别,如果数据库设置为RC,spring可以改为RR吗
spring
Ethan010721 小时前
详解Spring 事务三大核心接口,以及我们能用它来做什么
spring
架构源启1 天前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring