0%

SpringBoot组织结构

  • root packagecom.example.myproject,所有的类和其他package都在root package之下。
  • 应用主类:Application.java,该类直接位于root package下。通常我们会在应用主类中做一些框架配置扫描等配置,我们放在root package下可以帮助程序减少手工配置来加载到我们希望被Spring加载的内容
  • com.example.myproject.domain包:用于定义实体映射关系与数据访问相关的接口和实现
  • com.example.myproject.service包:用于编写业务逻辑相关的接口与实现
  • com.example.myproject.web:用于编写Web层相关的实现,比如:Spring MVC的Controller等

上面的结构中,root package与应用主类的位置是整个结构的关键。由于应用主类在root package中,所以按照上面的规则定义的所有其他类都处于root package下的其他子包之后。默认情况下,Spring Boot的应用主类会自动扫描root package以及所有子包下的所有类来进行初始化。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.
│ mvnw
│ mvnw.cmd
│ pom.xml
│ README.md

└─src
├─main
│ ├─java
│ │ └─com
│ │ └─example
│ │ └─hth
│ │ │ BajinsApiApplication.java
│ │ │
│ │ ├─config
│ │ │ │ QuartzJob.java
│ │ │ │ Swagger2.java
│ │ │ │ TaskExecutorConfig.java
│ │ │ │
│ │ │ └─websocket
│ │ │ WebSocketConfig.java
│ │ │ WebSocketHandler.java
│ │ │ WebSocketInterceptor.java
│ │ │
│ │ ├─constants
│ │ │ WeChatConstants.java
│ │ │
│ │ ├─mapper
│ │ │ WechatLoginLogMapper.java
│ │ │ WechatMsgMapper.java
│ │ │ WechatUserOpenidMapper.java
│ │ │
│ │ ├─domain
│ │ │ WechatLoginLog.java
│ │ │ WechatMsg.java
│ │ │ WechatUserOpenid.java
│ │ │
│ │ ├─service
│ │ │ │ UserSignatureService.java
│ │ │ │ WechatService.java
│ │ │ │ WxMsgService.java
│ │ │ │
│ │ │ └─impl
│ │ │ WechatServiceImpl.java
│ │ │ WxMsgServiceImpl.java
│ │ │
│ │ ├─utils
│ │ │ │ EmailUtil.java
│ │ │ │ EncryptUtil.java
│ │ │ │ StringUtil.java
│ │ │ │
│ │ │ └─wechat
│ │ │ SHA1.java
│ │ │ WXBizMsgCrypt.java
│ │ │ XMLParse.java
│ │ │
│ │ ├─vo
│ │ │ TemplateLibraryVO.java
│ │ │ TemplateMessageVO.java
│ │ │
│ │ └─controller
│ │ WechatController.java
│ │ WxMsgController.java
│ │
│ └─resources
│ │ application.properties
│ │ ehcache3.xml
│ │ logback-spring.xml
│ │
│ ├─com.example.hth
├─mapper
│ │ WechatLoginLogMapper.xml
│ │ WechatMsgMapper.xml
│ │ WechatUserOpenidMapper.xml
│ │
│ ├─static
│ └─templates
└─test
└─java
└─com
└─bajins
└─api
BajinsApiApplicationTests.java