Spring Boot 学习笔记

环境安装

1
2
3
4
5
6
7
export PATH="/usr/local/bin:$PATH"
brew install node
# sudo rm -rf /usr/local/lib/node_modules/npm
# brew reinstall node
brew install git
brew install gradle
npm install -g @angular/cli

Spring Boot 建议的目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
myproject
+-src
+- main
+- java
+- com.example.myproject
+- comm
+- model
+- repository
+- service
+- web
+- Application.java
+- resources
+- static
+- templates
+- application.properties
+- test
+-pom.xml

com.example.myproject 目录下:

  • Application.java,建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法;
  • comm 目录建议放置公共的类,如全局的配置文件、工具类等;
  • model 目录主要用于实体(Entity)与数据访问层(Repository);
  • repository 层主要是数据库访问层代码;
  • service 层主要是业务类代码;
  • web 层负责页面访问控制;

resources 目录下:

  • static 目录存放 web 访问的静态资源,如 js、css、图片等;
  • templates 目录存放页面模板;
  • application.properties 存放项目的配置信息。

一些定义

Java简单对象(Plain Ordinary Java Object,POJO) -> 一个同时具有属性(attributes)和行为(behavior)的对象。
JavaBean -> 简化版的POJO,行为只是getter和setter, 在Spring中把每一个需要管理的对象称为Spring Bean(简称Bean)
DTO -> JavaBean

控制反转(Inversion of Control,IoC)

IoC是一种通过描述来生成或者获取对象的技术,而这个技术不是Spring甚至不是Java独有的。
在Spring中把每一个需要管理的对象称为Spring Bean(简称Bean),而Spring管理这些Bean的容器,被我们称为Spring IoC容器(或者简称IoC容器)。IoC容器需要具备两个基本的功能:

  • 通过描述管理Bean,包括发布和获取Bean;
  • 通过描述完成Bean之间的依赖关系。

依赖注入(Dependency Injection,DI)

Bean之间的依赖,在Spring IoC的概念中,我们称为依赖注入

面向切面编程(Aspect Oriented Programming,AOP)

Resource Modeling

  • RESTful system is composed of resources.
  • Resource is anything that has a URI.
  • Examples of resources can be room reservations,amenities,and service requests.

Domains

  • Resources are grouped in domains.
  • Domain is a cohesive set of resources.
  • An example domain is room.

注释(annotation)

监控地址

localhost:8080/env 环境变量
localhost:8080/beans 以Json格式显示我们应用程序中的所有Bean

自定义配置

完整配置项清单请查看官方文档

1
2
3
4
# 修改端口
server.port=8000
# 禁止自动创建DDL
spring.jpa.hibernate.ddl-auto=none

Spring DATA

Java 类加载机制与反射

打赏支持:如果你觉得我的文章对你有所帮助,可以打赏我哟。