3:SpringBoot-Java Spring

简介: 3:SpringBoot-Java Spring

3.1 SpringBoot介绍

SpringBoot的本质是SpringFramework(IoC,AOP)的再次封装的上层应用框架,通过简化配置来进一步简化了Spring应用的整个搭建和开发过程,其作用是方便开发独立的应用程序

  • 采用Starter POM简化Maven的配置
  • 大量采用约定简化Spring的配置
  • 内嵌Tomcat、Jetty或Undertow
  • 提供产品级的运行监控Actuator功能

Spring Boot 参考文档:Spring Boot Reference Documentation

3.2 Spring和SpringBoot的区别

1.Spring 是用于简化 Java 企业级应用的开发难度和开发周期,两大核心IOC 与 AOP有效的管理了开发中对象的生命周期问题,也提供了与很多框架整合的工具

但Spring需要配置大量的 XML 和文件搭建

  • 配置web.xml,加载Spring和Spring MVC
  • 配置数据库连接Spring JDBC,配置Spring事务
  • 配置加载配置文件的读取,开启注解
  • 配置完成之后部署Tomcat调试
  • ……

Spring中引导配置,常用的注解通常分为两类,一类是用来注册Bean,一类是用来使用Bean,简单的来说bean就是一个被实例化的对象,Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止


2.SpringBoot 是对 Spring 框架的扩展或者再封装,通过简化配置来进一步简化了Spring应用的整个搭建和开发过程


而使用 Spring Boot 来开发项目,可以省去大量的配置,由Java 配置替代XML 配置写在 apaplication.properties 中,就可以搭建起来一个 Web 项目

  • 通过自动配置,解决配置复杂问题

Spring Boot中引导配置,从应用程序的入口点使用@SpringBootApplication注释的类

3.3 系统要求

环境 版本
Java 8+
Spring Framework 5.0.0+
Maven 3.2+
Tomcat 8.5+ (Servlet 3.1)
Jetty 9.4+ (Servlet 3.1)
Undertow 1.3+ (Servlet 3.1)

3.4 SpringBootApplication

SpringBootApplication就是SpringBoot中的引导配置,默认会从resources目录下使用以下 2 种全局的配置文件,其文件名是固定的,其中application.yml 是一种使用 YAML 语言编写的文件

  • application.properties
  • application.yml

SpringBoot应用的Main函数

@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) {    
    SpringApplication.run(DemoApplication.class, args);
  }
}

@SpringBootApplication是一个复合注解,包括

  • @Target(ElementType.TYPE)
  • @Retention(RetentionPolicy.RUNTIME)
  • @Documented
  • @Inherited
  • @Configuration 实现配置文件的功能。
  • @EnableAutoConfiguration 打开或关闭自动配置的功能与选项
  • @ComponentScan Spring组件扫描
  • @interface

例如修改Servlet容器的监听端口有三种方式

  • 在application.yml中定义
server:
port: 9090
  • 在Java的命令行中定义
$ java -jar RestfulDemo-0.0.1-SNAPSHOT.jar --server.port=9090
  • 在环境变量中定义
$ export SERVER_PORT=9090


目录
相关文章
|
13天前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
148 2
|
15天前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
74 8
|
27天前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
762 58
|
1月前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
134 2
|
1月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
812 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
308 0
|
2月前
|
前端开发 Java 开发者
Java新手指南:在Spring MVC中使用查询字符串与参数
通过结合实际的需求和业务逻辑,开发者可以灵活地利用这些机制,为用户提供更丰富而高效的Web应用体验。
99 15
|
2月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
421 0