�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)

���] ����\��SPRING BOOT 3.X

�����磺�����]늳���������r(sh��)�g��2024-04-01
�_(k��i)���� 16�_(k��i) �(y��)��(sh��)�� 392
�� �D �r(ji��):¥90.9(7.0��) ���r(ji��)  ¥129.8 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ(g��u)��܇(ch��) �ղ�
�_(k��i)���٣� ȫ��(ch��ng)���]
?�½������س���
���(l��i)���Ǖ�(sh��)����>

����\��SPRING BOOT 3.X ���(qu��n)��Ϣ

����\��SPRING BOOT 3.X ����(sh��)��ɫ

·������\��Spring Boot 2.x���r(sh��)��5���ȫ�������

·��(l��i)��һ���_(k��i)�l(f��)�ˆT�Č�(sh��)��(zh��n)��(j��ng)�(y��n)���Y(ji��)��ȫ��λ�v��Spring Boot 3.x��I(y��)��(j��)�_(k��i)�l(f��)

·����Java 8֮������Z(y��)�����¼��g(sh��)��ȫ���v��Spring Boot 3.x��

·����Փ����(sh��)�`��ȫ���BSpring Boot 3.x��ԭ���͑�(y��ng)����

·�o�ۻ�“(li��n)�W(w��ng)��I(y��)�Č�(sh��)�H����׷��΢����(w��)���Ʒ���(w��)�ij�����

����\��SPRING BOOT 3.X ��(n��i)�ݺ�(ji��n)��

Spring�����Java EE�_(k��i)�l(f��)�ď�(qi��ng)�����Ĺ��ߺ��Œ�(sh��)��(bi��o)��(zh��n)����Spring Boot���á��s����(y��u)�����á���ԭ�t��(ji��n)�� Spring���_(k��i)�l(f��)���ɞ�I(y��)�����е�΢����(w��)�_(k��i)�l(f��)�������Խ��(l��i)Խ�����I(y��)�����������m��(y��ng)�³���������(sh��)��(du��)Spring Boot 3.x���g(sh��)�M(j��n)�������v���� ����(sh��)��һ��(g��)��(ji��n)�ε��(xi��ng)Ŀ�_(k��i)ʼ�v��Spring Boot��I(y��)��(j��)�_(k��i)�l(f��)�����(n��i)�ݰ���ȫע���µ�Spring IoC��Spring AOP����(sh��)��(j��)��(k��)���̣�JPA��MyBatis��JDBC������(sh��)��(j��)��(k��)�„�(w��)��NoSQL��(sh��)��(j��)��(k��)��Redis��MongoDB�����g(sh��)��Spring MVC��REST�L(f��ng)�񡢻�“(li��n)�W(w��ng)��ُ(g��u)�I(y��)��(w��)���O(ji��n)���c����������Spring Cloud Alibaba΢����(w��)�_(k��i)�l(f��)�ȡ� ����(sh��)��(n��i)�ݾo�ۻ�“(li��n)�W(w��ng)��I(y��)�Č�(sh��)�H��������ȫע���µ�Spring֪�R(sh��)�v��Spring Boot����I(y��)��(j��)�_(k��i)�l(f��)����(du��)��Java�_(k��i)�l(f��)�ˆT�������dz��W(xu��)Spring Boot���ˆT����Ҫ�Ă��y(t��ng)Spring�D(zhu��n)��Spring Boot�_(k��i)�l(f��)�ļ��g(sh��)�ˆT�����кܸߵą����r(ji��)ֵ��

����\��SPRING BOOT 3.X Ŀ�

��1�� Spring Boot 3.x�ā�(l��i)�R 1

1.1 Spring��ܵĚvʷ 1

1.2 Spring Boot�����c(di��n) 3

1.3 Spring��Spring Boot���P(gu��n)ϵ 4

1.4 �_(k��i)�l(f��)Spring Boot�(xi��ng)Ŀ 4



��2�� �����_(k��i)�l(f��)�h(hu��n)����ͻ����_(k��i)�l(f��) 8

2.1 �Spring Boot�_(k��i)�l(f��)�h(hu��n)�� 8

2.1.1 �Eclipse�_(k��i)�l(f��)�h(hu��n)�� 8

2.1.2 �IntelliJ IDEA�_(k��i)�l(f��)�h(hu��n)�� 11

2.2 ʹ���Զ��x���� 13

2.3 �_(k��i)�l(f��)�Լ���Spring Boot�(xi��ng)Ŀ 14



��3�¡�ȫע���µ�Spring IoC 16

3.1 IoC������(ji��n)�� 16

3.2 �b�����Bean 20

3.2.1 ͨ�^(gu��)�����b�����Bean 20

3.2.2 �Զ��x������Bean 25

3.3 ��هע�� 26

3.3.1 ע��@Autowired 27

3.3.2 �������x��—@Primary��@Qualifier 29

3.3.3 ���Ѕ���(sh��)�Ę�(g��u)�췽���(l��i)���b�� 29

3.4 �������� 30

3.5 ʹ�Ì����ļ� 36

3.6 �l���b��Bean 39

3.7 Bean�������� 40

3.8 ʹ��ע��@Profile 42

3.9 ʹ��Sp EL 43



��4�¡��_(k��i)ʼ�s������—Spring AOP 46

4.1 �s������ 46

4.1.1 �s�� 46

4.1.2 ProxyBean��(sh��)�F(xi��n) 51

4.2 AOP��֪�R(sh��) 54

4.2.1 ��ʲôҪʹ��AOP 54

4.2.2 AOP���g(sh��)�Z(y��)������ 57

4.3 AOP�_(k��i)�l(f��)Ԕ�� 59

4.3.1 �_���r��Ŀ��(bi��o) 59

4.3.2 �_(k��i)�l(f��)���� 59

4.3.3 ���x���c(di��n) 60

4.3.4 �y(c��)ԇAOP 62

4.3.5 �h(hu��n)�@֪ͨ 64

4.3.6 ���� 65

4.3.7 ֪ͨ�@ȡ����(sh��) 67

4.3.8 ���� 68

4.4 ����(g��)���� 68



��5�¡��L��(w��n)��(sh��)��(j��)��(k��) 73

5.1 ���Ô�(sh��)��(j��)Դ 74

5.1.1 ����Ĭ�J(r��n)��(sh��)��(j��)Դ 74

5.1.2 �����Զ��x��(sh��)��(j��)Դ 74

5.2 ʹ��JdbcTemplate������(sh��)��(j��)��(k��) 78

5.3 ʹ��JPA��Hibernate��������(sh��)��(j��)��(k��) 81

5.3.1 ���� 81

5.3.2 �_(k��i)�l(f��)JPA 82

5.4 ����MyBatis��� 87

5.4.1 MyBatis��(ji��n)�� 87

5.4.2 MyBatis������ 88

5.4.3 Spring Boot����MyBatis 92

5.4.4 MyBatis���������� 95



��6�¡����Ĕ�(sh��)��(j��)��(k��)�„�(w��)̎�� 97

6.1 JDBC�Ĕ�(sh��)��(j��)��(k��)�„�(w��) 98

6.2 Spring•��ʽ�„�(w��)��ʹ�� 100

6.2.1 Spring•��ʽ�„�(w��)�s�� 100

6.2.2 ע��@Transactional�������(xi��ng) 101

6.2.3 Spring�„�(w��)������ 103

6.2.4 �y(c��)ԇ��(sh��)��(j��)��(k��)�„�(w��) 105

6.3 ���x��(j��)�e 109

6.3.1 ��(sh��)��(j��)��(k��)�„�(w��)��Ҫ�� 109

6.3.2 Ԕ����x��(j��)�e 110

6.4 ������ 114

6.4.1 ������ 115

6.4.2 �y(c��)ԇ�����О� 116

6.4.3 �„�(w��)��B(t��i) 121

6.5 Spring��(sh��)��(j��)��(k��)�„�(w��)��(sh��)��(zh��n) 122

6.5.1 ��(zh��n)�_����Spring��(sh��)��(j��)��(k��)�„�(w��) 122

6.5.2 ռ���„�(w��)�r(sh��)�g�^(gu��)�L(zh��ng) 123

6.5.3 @Transactional���{(di��o)��ʧЧ��(w��n)�} 123



��7�¡�ʹ����������—Redis 128

7.1 spring-data-redis�(xi��ng)Ŀ��(ji��n)�� 129

7.1.1 spring-data-redis�(xi��ng)Ŀ���O(sh��)Ӌ(j��) 129

7.1.2 RedisTemplate��StringRedisTemplate 131

7.1.3 Spring��(du��)Redis��(sh��)��(j��)�(l��i)�Ͳ����ķ��b 134

7.1.4 SessionCallback��RedisCallback�ӿ� 135

7.2 ��Spring Boot�����úͲ���Redis 136

7.2.1 ��Spring Boot������Redis 136

7.2.2 ����Redis��(sh��)��(j��)�(l��i)�� 137

7.3 Redis��һЩ�����÷� 141

7.3.1 ʹ��Redis�„�(w��) 141

7.3.2 ʹ��Redis��ˮ�� 143

7.3.3 ʹ��Redis�l(f��)��/ӆ� 144

7.3.4 ʹ��Lua�_�� 147

7.4 ʹ��Spring����ע�����Redis 150

7.4.1 ����������;������ 150

7.4.2 �_(k��i)�l(f��)����ע�� 151

7.4.3 �y(c��)ԇ����ע�� 156

7.4.4 ����ע�����{(di��o)��ʧЧ��(w��n)�} 158

7.4.5 �����K��(sh��)��(j��)�f(shu��)�� 159

7.4.6 �Զ��x��������� 160



��8�� �ęn��(sh��)��(j��)��(k��)—MongoDB 162

8.1 ����MongoDB 163

8.2 ʹ��MongoTemplate��(sh��)�� 164

8.2.1 ��(zh��n)��MongoDB���ęn 164

8.2.2 ʹ��MongoTemplate�����ęn 165

8.3 ʹ��JPA 170

8.3.1 �����÷� 170

8.3.2 ʹ���Զ��x��ԃ 172



��9�� ���R(sh��)Spring MVC 175

9.1 Spring MVC��ܵ��O(sh��)Ӌ(j��) 176

9.2 Spring MVC���� 176

9.3 ����Spring MVC�ij�ʼ�� 182

9.4 Spring MVC��(sh��)�� 184

9.4.1 �_(k��i)�l(f��)������ 184

9.4.2 ҕ�D��ҕ�D��Ⱦ 185



��10�� ����Spring MVC�_(k��i)�l(f��) 188

10.1 ̎����ӳ�� 188

10.2 �@ȡ����������(sh��) 189

10.2.1 �ڟo(w��)ע�����r�«@ȡ����(sh��) 190

10.2.2 ʹ��@RequestParam�@ȡ����(sh��) 190

10.2.3 ���f��(sh��)�M 191

10.2.4 ���fJSON��(sh��)��(j��)�� 191

10.2.5 ͨ�^(gu��)URL���f����(sh��) 194

10.2.6 �@ȡ��ʽ������(sh��) 195

10.3 �Զ��x����(sh��)�D(zhu��n)�QҎ(gu��)�t 196

10.3.1 ̎�����D(zhu��n)�Q����(sh��)߉݋ 197

10.3.2 һ��(du��)һ�D(zhu��n)�Q�� 200

10.3.3 GenericConverter���Ϻ͔�(sh��)�M�D(zhu��n)�Q 202

10.4 ��(sh��)��(j��)�(y��n)�C 202

10.4.1 JSR-303�(y��n)�C 202

10.4.2 ����(sh��)�(y��n)�C�C(j��)�� 205

10.5 ��(sh��)��(j��)ģ�� 208

10.6 ҕ�D��ҕ�D������ 210

10.6.1 ҕ�D�O(sh��)Ӌ(j��) 210

10.6.2 ҕ�D��(sh��)��—��(d��o)��Excel�ęn 212

10.7 �ļ��ς� 214

10.7.1 �ļ��ς��������(xi��ng) 214

10.7.2 �_(k��i)�l(f��)�ļ��ς����� 215

10.8 �r���� 218

10.8.1 �O(sh��)Ӌ(j��)�r���� 218

10.8.2 �_(k��i)�l(f��)�r���� 219

10.8.3 ����(g��)�r�����������\(y��n)����� 221

10.9 ��(gu��)�H�� 224

10.9.1 ��(gu��)�H����ϢԴ 224

10.9.2 ��(gu��)�H�������� 225

10.9.3 ��(gu��)�H����(sh��)��—SessionLocaleResolver 227

10.10 Spring MVCʰ�z 230

10.10.1 @ResponseBody�D(zhu��n)�Q��JSON������ 230

10.10.2 �ض��� 231

10.10.3 ������(hu��)Ԓ���� 233

10.10.4 �o����������֪ͨ 235

10.10.5 �@ȡՈ(q��ng)���^����(sh��) 237



��11�� ��(g��u)��REST�L(f��ng)��W(w��ng)վ 240

11.1 REST��(ji��n)�� 240

11.1.1 REST���~��� 240

11.1.2 HTTP�Ą�(d��ng)�� 241

11.1.3 REST�L(f��ng)���һЩ�`�^(q��) 242

11.2 ʹ��Spring MVC�_(k��i)�l(f��)REST�L(f��ng)����c(di��n) 242

11.2.1 Spring MVC����REST 242

11.2.2 ʹ��Spring�_(k��i)�l(f��)REST�L(f��ng)��Ķ��c(di��n) 243

11.2.3 ʹ��@RestController 251

11.2.4 ��Ⱦ�Y(ji��)�� 252

11.2.5 ̎��HTTP��B(t��i)�a��푑�(y��ng)�^�ͮ��� 254

11.3 �͑���Ո(q��ng)��RestTemplate 257

11.3.1 ʹ��RestTemplateՈ(q��ng)���� 258

11.3.2 �@ȡ��B(t��i)�a��푑�(y��ng)�^ 261

11.3.3 ����Ո(q��ng)���w��푑�(y��ng)�(l��i)�� 262



��12�� ��ȫ—Spring Security 264

12.1 �����ͺ�(ji��n)�ΰ�ȫ�(y��n)�C 264

12.1.1 ʹ���Ñ��ܴa���ϵ�y(t��ng) 265

12.1.2 Spring Security�������(xi��ng) 266

12.1.3 �_(k��i)�l(f��)Spring Security����Ҫ���(l��i) 266

12.2 ʹ��UserDetailsService�ӿڶ����Ñ���Ϣ 267

12.2.1 ʹ�Ã�(n��i)�汣���Ñ���Ϣ 267

12.2.2 �Ĕ�(sh��)��(j��)��(k��)���xȡ�Ñ���Ϣ 268

12.2.3 ʹ���Զ��xUserDetailsService��(du��)�� 270

12.2.4 �ܴa���a�� 270

12.3 ����Ո(q��ng)�� 271

12.3.1 ����Ո(q��ng)��·���L��(w��n)��(qu��n)�� 272

12.3.2 �Զ��x�(y��n)�C���� 274

12.3.3 ���r�ص�Ո(q��ng)�� 275

12.3.4 ��ֹ��վ�c(di��n)Ո(q��ng)����� 275

12.4 ��䛺͵dz��O(sh��)�� 277

12.4.1 �Զ��x����(y��)�� 277

12.4.2 ����HTTP Basic�(y��n)�C 279

12.4.3 �dz����� 279



��13�� �W(xu��)�c(di��n)Spring�����ļ��g(sh��) 282

13.1 �������̳� 282

13.1.1 ���x���̳غ��_(k��i)���������� 283

13.1.2 ������(sh��)�� 284

13.2 ������Ϣ—RabbitMQ 285

13.3 ���r(sh��)�΄�(w��) 289



��14�� ��(sh��)�`һ��—��ُ(g��u)��Ʒ 293

14.1 �O(sh��)Ӌ(j��)�c�_(k��i)�l(f��) 293

14.1.1 ��(sh��)��(j��)��(k��)���O(sh��)Ӌ(j��) 293

14.1.2 ʹ��MyBatis�_(k��i)�l(f��)�־Ì� 294

14.1.3 ʹ��Spring�_(k��i)�l(f��)�I(y��)��(w��)�ӺͿ��ƌ� 297

14.1.4 �y(c��)ԇ������ 299

14.2 �߲��l(f��)�_(k��i)�l(f��) 301

14.2.1 ���l(f��)�F(xi��n)�� 301

14.2.2 ���^�i 303

14.2.3 ��(l��)�^�i 304



��15�� ������y(c��)ԇ���O(ji��n)�����A(y��)�Ⱦ��g���������� 310

15.1 ������\(y��n)�� 310

15.1.1 ����(xi��ng)Ŀ 310

15.1.2 �\(y��n)���(xi��ng)Ŀ 311

15.1.3 �Ჿ�� 314

15.2 �y(c��)ԇ 315

15.2.1 ��(g��u)���y(c��)ԇ�(l��i) 316

15.2.2 ʹ���S�C(j��)�˿ں�REST�L(f��ng)��y(c��)ԇ 317

15.2.3 Mock�y(c��)ԇ 317

15.3 Actuator�O(ji��n)�ض��c(di��n) 319

15.4 HTTP�O(ji��n)�� 320

15.4.1 �鿴������Ϣ 321

15.4.2 shutdown���c(di��n) 323

15.4.3 ���ö��c(di��n) 324

15.4.4 �Զ��x���c(di��n) 326

15.4.5 ����ָ��(bi��o)�(xi��ng) 328

15.5 JMX�O(ji��n)�� 331

15.6 �A(y��)�Ⱦ��g 332

15.6.1 �GraalVM�h(hu��n)�� 333

15.6.2 ��(chu��ng)���(xi��ng)Ŀ 335

15.6.3 ���ɺ��\(y��n)��ԭ���ļ� 336

15.7 ����Docker������ 337



��16�� Spring Cloud Alibaba΢����(w��)�_(k��i)�l(f��) 339

16.1 ����(w��)����—Alibaba Nacos 342

16.1.1 ���d�����b�����ú͆���(d��ng)Nacos 342

16.1.2 ����(w��)�l(f��)�F(xi��n) 343

16.1.3 �Nacos��Ⱥ 350

16.2 ����(w��)�{(di��o)�� 352

16.2.1 �͑���ؓ(f��)�d���� 353

16.2.2 OpenFeign•��ʽ����(w��)�{(di��o)�� 356

16.3 ���e(cu��)�C(j��)��—Spring Cloud Alibaba Sentinel 359

16.3.1 �O(sh��)�����c(di��n) 360

16.3.2 Sentinel�����_(t��i) 361

16.3.3 ���� 363

16.3.4 �۔� 364

16.3.5 ��OpenFeign��ʹ��Sentinel 371

16.4 API�W(w��ng)�P(gu��n)—Spring Cloud Gateway 372

16.4.1 Gateway�Ĺ���ԭ�� 374

16.4.2 ����·��Ҏ(gu��)�t 375

16.4.3 �^(gu��)�V�� 376

16.4.4 ʹ��Sentinel�ܿ�Gateway 383



��� Spring Boot֪�R(sh��)�c(di��n)�a(b��)�� 387

A.1 Java 8��֮��汾�����Z(y��)�� 387

A.1.1 Lambda���_(d��)ʽ 387

A.1.2 ����׃���(l��i)���Ɣ� 387

A.1.3 switch�Z(y��)��ĸ��� 388

A.1.4 �ı��K 388

A.1.5 �o��•���(l��i)���P(gu��n)�I��record 389

A.1.6 instanceof�Z(y��)���ĸ��� 390

A.2 �x���(n��i)Ƕ����(w��)�� 391

A.3 �޸��̘�(bi��o) 391
չ�_(k��i)ȫ��

����\��SPRING BOOT 3.X ���ߺ�(ji��n)��

���_(k��i)������ͨJava��“(li��n)�W(w��ng)���g(sh��)������ʮ������I(y��)��(j��)��(y��ng)���_(k��i)�l(f��)��(j��ng)�(y��n)�����П��N(xi��o)��(sh��)������\��Spring Boot 2.x����Spring Cloud΢����(w��)�ͷֲ�ʽϵ�y(t��ng)��(sh��)�`������(du��)��Excel������A(ch��)�W(xu��)Python��(sh��)��(j��)������������\��MyBatis���g(sh��)ԭ���c��(sh��)��(zh��n)���͡�Java EE��“(li��n)�W(w��ng)�p����(j��)��������_(k��i)�l(f��)——SSM��ܣ�Spring MVC Spring MyBatis����Redis��(sh��)�F(xi��n)����

���o(w��)�u(p��ng)Փ����
��(sh��)�����]
���(l��i)���N(xi��o)
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�