
Spring全家桶是一系列用于构建现代Java应用程序的框架和库的集合。以下是对Spring全家桶中核心组件的详细介绍和使用教程。
肖哥弹架构 跟大家“弹弹” 高并发锁, 关注公号回复 ‘mvcc’ 获得手写数据库事务代码
欢迎 点赞,关注,评论。
关注公号Solomon肖哥弹架构获取更多精彩内容
历史热点文章
- 解锁大语言模型参数:零基础掌握大型语言模型参数奥秘与实践指南
- 高性能连接池之HikariCP框架分析:高性能逐条分解(架构师篇)
- 缓存雪崩/穿透/击穿/失效原理图/14种缓存数据特征+10种数据一致性方案
- Java 8函数式编程全攻略:43种函数式业务代码实战案例解析(收藏版)
- 一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
- 17个Mybatis Plugs注解:Mybatis Plugs插件架构设计与注解案例(必须收藏)
环境准备
在开始之前,请确保你的开发环境中安装了以下软件:
- Java Development Kit (JDK) 8 或更高版本
- Maven 3.0 或更高版本
- 一个文本编辑器或IDE(如IntelliJ IDEA或Eclipse)
- Git
Spring Framework
Spring Framework是Spring的核心,提供了依赖注入、事件监听和AOP等功能。
创建Spring项目
-
通过Spring Initializr创建Spring项目:
- 访问 Spring Initializr
- 选择Maven项目,选择Java语言
- 选择需要的依赖,例如
Spring Web、Spring Data JPA等 - 生成项目并下载
依赖注入
Spring通过依赖注入管理对象的创建和生命周期。
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@ComponentScan
@Configuration
public class AppConfig {
}
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MyBean myBean = context.getBean(MyBean.class);
myBean.doWork();
}
}
import org.springframework.stereotype.Component;
@Component
public class MyBean {
public void doWork() {
System.out.println("Doing work");
}
}
Spring Boot
Spring Boot简化了Spring应用的创建和配置。
创建Spring Boot项目
-
通过Spring Initializr创建Spring Boot项目:
- 访问 Spring Initializr
- 选择Maven项目,选择Java语言
- 添加
Spring Boot DevTools依赖以加快开发速度 - 生成项目并下载
自动配置
Spring Boot自动配置简化了配置。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Spring Data
Spring Data简化了数据库操作。
使用Spring Data JPA
- 添加
spring-boot-starter-data-jpa和数据库驱动依赖:- 在
pom.xml文件中添加依赖
- 在
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
- 创建实体类:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
// getters and setters
}
- 创建Repository接口:
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
Spring Security
Spring Security提供了认证和授权功能。
配置Spring Security
- 添加
spring-boot-starter-security依赖:- 在
pom.xml文件中添加依赖
- 在
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 创建配置类:
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
Spring Cloud
Spring Cloud为微服务架构提供了快速构建的工具。
使用Spring Cloud
- 添加Spring Cloud依赖:
- 在
pom.xml文件中添加依赖
- 在
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 创建
application.yml文件并配置服务发现:
spring:
application:
name: myService
cloud:
config:
uri: http://localhost:8080
- 使用
@FeignClient创建服务间调用:
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(name = "myService")
public interface MyClient {
@GetMapping("/myEndpoint")
String myMethod();
}
总结
通过本文,你已经了解了如何使用Spring全家桶中的各个组件。Spring Framework提供了核心功能,Spring Boot简化了配置,Spring Data简化了数据库操作,Spring Security提供了安全功能,Spring Cloud支持微服务架构。这些工具的组合使得开发现代企业级应用变得更加容易和高效。

651

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



