引言:
SpringBoot的特点
为基于Spring的开发提供更快的入门体验
开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求
提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等
SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式
起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。 简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。
Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。
对spring boot的理解
Spring Boot 作为当下 Java 开发领域极为热门的框架,每一次深入学习都能收获颇丰。在近期对 Spring Boot 的学习过程中,每一课都解锁了新的知识要点,让我对其强大功能与便捷开发方式有了更深刻的理解。
spring boot的优点与亮点
快速项目搭建:摆脱繁琐配置
以往开启一个 Java Web 项目,要在各种 XML 配置文件里打转,整合各类依赖,搭建环境就得耗费大量时间精力。Spring Boot 带来的第一课震撼便是它的快速启动能力。借助 Spring Initializr,简单勾选所需依赖,如 Web、数据库连接等,瞬间就能生成一个基础项目结构。无需手动配置复杂的 Spring 核心配置文件,它基于约定大于配置原则,默认设置已涵盖大部分常规场景。这不仅大幅缩短项目前期准备周期,更让开发者能将精力迅速聚焦到业务逻辑编写上,初次上手便深感高效开发的魅力,领悟到技术选型对项目启动速度的关键影响。
自动配置机制:隐藏复杂细节
深入学习后,Spring Boot 的自动配置堪称核心亮点。它像是一位幕后智能管家,默默根据项目依赖 “猜” 出所需配置并自动完成。例如引入 spring-boot-starter-web 依赖后,内嵌的 Tomcat 服务器自动配置妥当,端口监听、Servlet 注册等细节无需操心;连数据库连接池也能依据 spring-boot-starter-jdbc 及配置文件中的数据源信息,智能适配常见数据库(MySQL、PostgreSQL 等),设置好连接参数、加载驱动。这让我意识到,掌握自动配置原理可避免重复造轮子,在排查问题时也能快速定位因自定义配置打破默认规则引发的异常,精准把握框架底层运行逻辑,为开发稳健应用筑牢根基。
spring boot 的基础用法
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class HelloWorldApplication {
@RequestMapping("/")
String home() {
return "Hello, Spring Boot!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
这段代码实现了一个简单的REST API,当访问根路径/时,它会返回"Hello, Spring Boot!"的消息。@RestController注解表示这是一个REST控制器,用于返回HTTP响应。@EnableAutoConfiguration让Spring Boot自动根据类路径设置、其他bean以及各种属性设置配置。main方法使用SpringApplication.run方法来启动Spring Boot应用程序。这是开始使用Spring Boot的一个很好的基础。
如何创建一个项目
1. 通过 Spring Initializr 创建项目骨架
- 在 IntelliJ IDEA 中操作:
- 打开 IntelliJ IDEA,点击
File->New->Project。 - 在弹出的窗口左侧选择
Spring Initializr。 - 选择
SDK(确保已配置好 Java 开发环境,选择合适的 Java 版本,比如 Java 11 或者更高版本)。 - 在
Spring Initializr相关配置中,可以指定项目的Group(一般是公司域名反写等,例如com.example)、Artifact(项目名,比如my-spring-boot-project),并选择项目的打包方式(Jar或War,通常 Web 应用选Jar就行),还有 Java 版本等信息。 - 在
Dependencies(依赖)中,添加你需要的 Spring Boot 相关依赖,比如开发 Web 应用可以添加Spring Web依赖(用于构建 RESTful API 等 Web 服务),如果要操作数据库可以添加相应的数据库驱动依赖(比如MySQL Driver等)以及 Spring Data JPA 等依赖(方便操作数据库)。点击Next并根据提示完成项目的创建。
2. 生成的项目基本结构及关键代码说明
项目结构说明:

主启动类代码示例
package com.example.myspringbootproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootProjectApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootProjectApplication.class, args);
}
}
上述代码中,@SpringBootApplication 注解是一个组合注解,它相当于同时使用了 @Configuration(表明这是一个配置类,可以在其中定义 Bean 等配置信息)、@EnableAutoConfiguration(开启 Spring Boot 的自动配置功能,根据添加的依赖自动配置很多默认的组件,比如 Web 应用的 Tomcat 等服务器相关配置)、@ComponentScan(用于扫描指定包及其子包下的 Spring 组件,比如 @Controller、@Service、@Repository 等注解标注的类)。main 方法则是项目的入口点,通过 SpringApplication.run 方法启动 Spring Boot 应用程序。
简单的 Web 接口示例(创建一个 HelloController 类演示 Web 功能,在 com.example.myspringbootproject 包下创建新的类)
package com.example.myspringbootproject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
这里 @RestController 注解是 @Controller 和 @ResponseBody 的组合注解,表明这个类是一个处理 HTTP 请求的控制器类,并且方法返回的结果会直接作为响应体返回(比如这里返回一个简单的字符串)。@GetMapping 注解指定了这个方法处理的是 GET 类型的 HTTP 请求,路径是 /hello,当访问应用的 /hello 路径时,就会返回 Hello, Spring Boot! 这个字符串响应。
3. 运行项目
在 IntelliJ IDEA 中,可以直接在主启动类(MySpringBootProjectApplication)上右键,选择 Run 'MySpringBootProjectApplication' 来启动项目,启动成功后,可以在控制台看到相关启动日志,默认应用会运行在本地的一个端口上(比如 8080,可以通过配置文件修改端口),然后通过浏览器或者其他 HTTP 客户端工具访问 http://localhost:8080/hello 就能看到 Hello, Spring Boot! 这个响应了。如果是通过命令行使用 Maven 构建并运行项目,可以进入项目的根目录(包含 pom.xml 文件的目录),执行以下命令:
mvn clean package (先编译打包项目)
java -jar target/my-spring-boot-project-0.0.1-SNAPSHOT.jar (运行打包后的项目,这里的文件名根据实际生成的来,版本号等可能不同)
这就是一个简单的 Spring Boot 项目创建及基本代码示例,你可以根据具体需求进一步扩展功能,添加更多的业务逻辑、配置数据库连接等操作。
spring boot连接数据库
一、连接 MySQL 数据库
1. 添加依赖
在pom.xml(如果是 Maven 项目)中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
spring-boot-starter-data-jpa用于方便地进行数据持久化操作,借助 Spring Data JPA 框架。mysql-connector-java则是 MySQL 数据库的 Java 驱动,用于建立与 MySQL 数据库的连接。
2. 配置数据库连接信息(application.properties 或 application.yml)
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
这里要将your_database_name替换为实际的数据库名,your_username和your_password替换为对应的登录用户名和密码。
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
username: your_username
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
Respository接口示例(用于数据访问)
package com.example.demo;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
// 可以根据需求自定义查询方法,Spring Data JPA会按规则生成SQL
// 例如:User findByUsername(String username);
}
基本上就可以实现spring boot与数据库的连接了。
总结
Spring Boot是Spring框架的一个子项目,用于简化新Spring应用的初始搭建以及开发过程。该项目目的是为了让你尽可能快地启动并运行你的应用,
熟练地运用spring boot对日后的学习有所帮助。

990

被折叠的 条评论
为什么被折叠?



