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应用程序,并且不需要额外的配置文件。

相关推荐
vx-Biye_Design9 小时前
servlet家政公司管理系统-计算机毕业设计源码01438
java·vue.js·spring·servlet·tomcat·maven·mybatis
Open Source Thoughts9 小时前
OpenClaw.ai:Agentic AI 时代的“SpringFramework”时刻
java·人工智能·spring·prompt·开源软件·agi·ai-native
forestsea9 小时前
优雅终结启动顺序噩梦:ObjectProvider —— Spring 4.3 开始引入
java·后端·spring
想不明白的过度思考者9 小时前
JavaEE进阶 ——【SpringBoot 快速上手】从环境搭建到HelloWorld实战
java·spring boot·spring·java-ee
那我掉的头发算什么9 小时前
【SpringBoot】一篇文章讲清楚拦截器所有知识
java·spring boot·后端·spring
forestsea9 小时前
Webflux声明式http客户端:Spring6原生HttpExchange实现,彻底摒弃feign
spring·feign·响应式声明式客户端
玹外之音16 小时前
Spring AI MCP 之 SSE WebFlux 实战:从零构建 AI 天气助手
spring·openai
fchampion16 小时前
最终一致性
java·spring·rabbitmq·github·mvc
今心上18 小时前
spring中的@Autowired到底是什么
java·后端·spring
无心水18 小时前
【任务调度:数据库锁 + 线程池实战】4、架构实战:用线程池 + SKIP LOCKED 构建高可用分布式调度引擎
人工智能·分布式·后端·spring·架构