全面的河南网站建设,福建省政务服务网,广东手机网站建设品牌,wordpress简化头部目录 1. 理解Spring Boot
1.简化配置
2. 起步依赖#xff08;Starter Dependencies#xff09;
3. 自动化配置
4. 外部化配置
5. 基于注解
6. 外部化配置
7. 整合生态系统
2. 环境设置和配置
1. JDK安装
2. Maven的安装
3. IntelliJ IDEA Ultimate旗…
目录 1. 理解Spring Boot
1.简化配置
2. 起步依赖Starter Dependencies
3. 自动化配置
4. 外部化配置
5. 基于注解
6. 外部化配置
7. 整合生态系统
2. 环境设置和配置
1. JDK安装
2. Maven的安装
3. IntelliJ IDEA Ultimate旗舰版
3.Spring Boot基础
1. Spring Boot 项目结构
2. 主要注解示例
3. 配置文件示例
4. 服务层和依赖注入示例
5. 数据访问示例 1. 理解Spring Boot 1.简化配置
示例 1Web 应用程序
通过 SpringBootApplication 注解启动一个简单的 Web 应用程序
SpringBootApplication
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class, args);}
}这个注解包含了 Configuration、ComponentScan 和 EnableAutoConfiguration从而简化了配置。 2. 起步依赖Starter Dependencies
示例 2Web 应用程序
使用 Spring Boot Starter Web快速创建一个基本的 RESTful API
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId
/dependency这个 Starter 依赖包含了 Spring MVC、Tomcat 等必需的库可快速搭建一个 Web 应用。 3. 自动化配置
示例 3数据库访问
添加 Spring Boot Starter Data JPA 依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId
/dependency只需简单地配置数据源信息Spring Boot 就会自动创建数据源和配置 JPA 等相关内容无需手动配置大量的数据源和 EntityManager。 4. 外部化配置
示例 4配置文件
在 application.properties 或 application.yml 文件中配置数据库连接信息
spring.datasource.urljdbc:mysql://localhost:3306/mydb
spring.datasource.usernameusername
spring.datasource.passwordpasswordSpring Boot 会自动读取这些配置信息并将其应用于相关的组件。 5. 基于注解
示例 5RESTful Controller
使用 RestController 注解创建一个简单的 REST 控制器
RestController
public class HelloController {GetMapping(/hello)public String hello() {return Hello, Spring Boot!;}
}这个简单的注解就能创建一个能够响应 HTTP GET 请求的控制器方法。 6. 外部化配置
示例 6监控和管理
Spring Boot 提供了诸如 /actuator/health、/actuator/info 等端点通过这些端点可以轻松地监控应用的健康状况和信息。 7. 整合生态系统
示例 7Spring Security
通过引入 Spring Boot Starter Security轻松实现身份验证和授权比如
EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {// 省略其他配置
}2. 环境设置和配置 前提需要准备的环境
Spring boot 2.x需要JDK 1.8.0_201(以上版本)Spring boot3.x需要JDK17 Apache Maven 3.6.0(以上版本) IntelliJ IDEA Ultimate旗舰版 1. JDK安装
Jdk的下载与安装
通过官网下载https://www.oracle.com/java/technologies/downloads/ 按步骤安装即可 环境变量配置
1. 打开高级系统设置 右击主机选择“属性”选项可以快速打开 2. 打开环境变量 3. 新建系统变量
4. 新建JAVA_HOME变量变量值为JDK安装路径 5. 在系统变量中找到Path变量进行编辑 6. 将刚才新建的JAVA_HOME变量加入其中
点击右边的新建即可 7. 利用CMD命令验证环境变量是否配置成功 java -version
快捷键windows R 然后输入 cmd 命令 环境变量配置说明
为什么需要配置环境变量为了在命令行窗口下编译和运行Java程序。 我们所写的Java程序都是保存在一个后缀名为.java的文件当中的这个文件称之为源文件。源文 件并不能被执行它需要首先被编译成二进制字节码文件也就是后缀名为.class的文件。那么怎 样把源文件编译成二进制字节码文件呢这时候就需要用到JDK当中提供的编译程序来完成这个任 务。编译程序是一个后缀为.exe的可执行文件名字叫做javac它存在于JDK安装路径下的bin文 件夹中。 我们的源文件文件有可能会被保存到磁盘上任何一个文件夹中。当我们在源文件所在的文件夹中 去调用javac编译程序系统会发现根本就找不到这个它。 所以我们要设置在任何目录下都调用到该指定文件为了在在任何文件夹下都调用到某一指定目 录下的文件我们就应该配置环境变量(指定目录路径)让系统在你所配置的路径下去自己查找这 些文件然后运行 为什么需要新建JAVA_HOME变量 方便引用 归一原则 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对 路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩 溃! 第三方软件会引用约定好的JAVA_HOME变量 JDK1.5之前的JDK版本还需要CLASSPATH的配置 2. Maven的安装
Maven的下载与安装
注意maven的安装需要依赖jdk的安装所以必须先安装完成jdk且配置好jdk环境变量后再进行maven的安装 通过官网下载https://maven.apache.org/download.cgi 按步骤安装即可 Maven环境变量配置
Maven环境变量配置步骤与JDK环境变量配置类似 官网下载的文件注意路径要到无bin后缀的文件夹
添加环境变量
验证环境变量配置成功 mvn -v Maven中央仓库配置重要
配置maven中央仓库地址参考https://blog.csdn.net/qq_47128897/article/details/131148421中央 仓库是 Maven 的默认远程仓库它包含了大量的开源 Java 项目和依赖库我们可以通过 Maven 客户端 从中央仓库中下载需要的构建产物和依赖库由于Maven默认的中央仓库地址较难访问因此我们需要 配置国内镜像地址镜像站是指把现有的网站放在另外一个地方的服务器上的一个网站提高下载速率这里我们使用阿里云镜像。 打开你的maven配置文件找到 conf 文件夹 将下述代码复制到mirrors里然后保存 mirror
idalimaven/id
namealiyun maven/name
urlhttps://maven.aliyun.com/repository/central//url
mirrorOfcentral/mirrorOf
/mirror
3. IntelliJ IDEA Ultimate旗舰版
为了方便Spring boot的开发我们需要旗舰版的IDEA 通过官网下载https://www.jetbrains.com/idea/download/ IDEA旗舰版激活方式 学生认证(https://www.jetbrains.com/shop/eform/students) 配置IDEA(以IDEA2023为例)
1. 对项目进行全局配置 2. 对Maven进行配置 完成到这里Spring boot的环境配置完成了
3.Spring Boot基础
1. Spring Boot 项目结构 my-spring-boot-app/ └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── example/ │ │ └── myapp/ │ │ ├── MySpringBootApplication.java // Spring Boot 应用入口 │ │ ├── controllers/ // 控制器层 │ │ │ └── MyController.java // REST 控制器 │ │ ├── services/ // 服务层 │ │ │ └── MyService.java // 服务类 │ │ └── repositories/ // 数据访问层 │ │ └── MyRepository.java // 数据访问接口 │ └── resources/ │ └── application.properties (或 application.yml) // 应用程序配置文件 └── test/ └── java/ └── com/ └── example/ └── myapp/ └── MySpringBootApplicationTests.java // 测试类 2. 主要注解示例
SpringBootApplication
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class MySpringBootApplication {public static void main(String[] args) {SpringApplication.run(MySpringBootApplication.class, args);}
}RestController
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;RestController
public class MyController {GetMapping(/hello)public String hello() {return Hello, Spring Boot!;}
}3. 配置文件示例
application.properties
# 设置端口号
server.port8080# 数据库配置
spring.datasource.urljdbc:mysql://localhost:3306/mydb
spring.datasource.usernameroot
spring.datasource.passwordroot_password4. 服务层和依赖注入示例
服务Service
import org.springframework.stereotype.Service;Service
public class MyService {public String getMessage() {return Hello from MyService!;}
}依赖注入Dependency Injection
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;RestController
public class MyController {private final MyService myService;Autowiredpublic MyController(MyService myService) {this.myService myService;}GetMapping(/message)public String getMessage() {return myService.getMessage();}
}5. 数据访问示例
Spring Data Repository
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;Repository
public interface MyRepository extends JpaRepositoryMyEntity, Long {// 可以自定义查询方法
}b. 使用 Repository
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;RestController
public class MyController {private final MyRepository myRepository;Autowiredpublic MyController(MyRepository myRepository) {this.myRepository myRepository;}GetMapping(/entities)public ListMyEntity getAllEntities() {return myRepository.findAll();}
}参考:ChatGPT