Spring boot 项目结构
项目依赖
gradle 项目管理方式
buid.gradle
maven 项目管理方式
pom.xml
管理项目各种依赖 根据以上两种方式可以查看使用了那些技术点。
项目结构
这里以开源项目halo为例,使用gradle 项目管理方式
首先看src 其他目录先不用管。
看main目录
java目录下存放的是java源文件。
resources目录下存放资源文件。
项目入口
先从项目的入口开始看
springboot项目入口在java文件目录一系列包里面。
他的入口就在Appication
资源文件和配置文件
resources目录下看资源文件和配置
application.yaml 主配置文件。
经过特别的制定可以使用一下配置文件。
比如
application_dev.yaml 开发环境下的配置文件
application_test.yaml 测试环境下的配置文件
总之不同环境下可以使用不同的配置文件。
下面以application.yaml 进行说明:
#应用端口8090
server:
port: 8090
forward-headers-strategy: native
compression:
enabled: false
spring:
mvc:
pathmatch:
use-suffix-pattern: true
jackson:
date-format: yyyy-MM-dd HH:mm:ss
devtools:
add-properties: false
output:
ansi:
enabled: always
#数据源
datasource:
type: com.zaxxer.hikari.HikariDataSource
# H2 database configuration.h2数据
driver-class-name: org.h2.Driver
url: jdbc:h2:file:~/.halo/db/halo
username: admin
password: 123456
h2:
console:
settings:
web-allow-others: false
path: /h2-console
enabled: false
jpa:
hibernate:
ddl-auto: update
show-sql: false
open-in-view: false
flyway:
enabled: false
servlet:
multipart:
max-file-size: 10240MB
max-request-size: 10240MB
location: /tmp/run.halo.app
management:
endpoints:
web:
base-path: /api/admin/actuator
exposure:
include: [ 'httptrace', 'metrics','env','logfile','health' ]
#日志等级
logging:
level:
run.halo.app: INFO
org.eclipse.jetty.server.HttpChannel: ERROR
file:
path: ${user.home}/.halo/logs
springfox:
documentation:
enabled: false
halo:
download-timeout: 5m
cache: memory
banner.txt为设置启动的图标
静态资源(页面)
静态资源目录templates-temes-anatole
看源代码
controller
从controller 入手,controller负责前后台的交互。
service
再看service,service负责具体业务的实现。
repository
再看repository,repositor负责与数据库交互的东西
model
再看model,model具体与数据库关联的对象。
utils
utils工具类
security
security安全类 各种验证