Spring Boot的代码组织–一些有用的项目实践经验

Spring Boot不需要使用任何特殊的代码结构, 然而, 里有一些有用的最佳践。

 

1. 使用“default”

没有包含 package 声明, 它被认为处default package 下。这样使用是被允许的。但是 通常不推荐使用 default package , 并应该避免使用它。

为对于使用 @ComponentScan @EntityScan @SpringBootApplication 注解的Spring Boot用来, 来自每个jar都会被取, 会造成一定的问题

注:我你遵循Java推荐的包命名范, 使用一个反的域名( 例如 com.souvc.springboot) 。

 

2. main类存放的位置

通常建你将main放在位于其他上面的根目录( root package) 中。

(1)通常使用 @EnableAutoConfiguration 注解你的main, 并且暗地里某些了一个基“search package”。 例如, 如果你正在写一个JPA用,被 @EnableAutoConfiguration 注解的所在包将被用来搜索 @Entity

(2)放在根目录允你使用 @ComponentScan 注解而不需要定一个 basePackage 属性。 如果main位于根包中, 你也可以使用 @SpringBootApplication 注解。

下面是一个典型的结构

Application.java 文件将声明 main 方法, 有基本的 @Configuration

上面的一些目录结构,一般可以应用在测试项目demo上面。但是真实项目中,有些目录还是得细分一下。

 

3. 一些比较简单的Java web目录的分层。

一般分为,实体类entity,数据访问层dao,业务处理层service,控制层controller,当然可能还有公共需要用到的一些类,所以可能还会有common 这样的一层。如果service,dao这些需要定义接口,那么可以在分别目录下定义impl包进行实现。效果如下图:

 

 

4. 进一步提升项目分层。

也许就是把各个层分拆出来,作为一个项目,然后进行分别依赖。

 

5. 随着业务逐渐的复杂,那么集中式开发已经满足不了需求,那么也许会采用分布式处理方法,把一个系统拆分成多个小系统。

6.  多个小系统之间的消息传递,交流方式变得多,并且复杂的时候,分布式可能又会采取为微服务开发了。

当然大家可以在后面补充一下自己在项目中的实践。

 

 

 






如果您认为本教程质量不错,读后觉得收获很大,预期工资能蹭蹭蹭的往上涨,那么不妨小额赞助我一下,让我有动力继续写出高质量的教程。

发布者

souvc

souvc

搜你所想,投你所好。

《Spring Boot的代码组织–一些有用的项目实践经验》有45个想法

  1. Pingback: Bdsm
  2. Pingback: ADME Services
  3. Pingback: uodiyala
  4. Pingback: pharmacokinetic
  5. Pingback: GVK BIO
  6. Pingback: Klinik gigi surabaya
  7. Pingback: church suits
  8. Pingback: warehouses for sale
  9. Pingback: PAMPA
  10. Pingback: In vivo PK behaviour
  11. Pingback: sciences
  12. Pingback: Simonovic
  13. Pingback: cpns april 2018
  14. Pingback: new phone
  15. Pingback: anatomy
  16. Pingback: official site
  17. Pingback: sites like cexio
  18. Pingback: PK modeling
  19. Pingback: Tam Coc Tours
  20. Pingback: home gym essentials
  21. Pingback: Free Teen Chat Rooms
  22. Pingback: OnePlus
  23. Pingback: cheap web hosting
  24. Pingback: International Moving
  25. Pingback: Kanata homes
  26. Pingback: nfis.com.ph
  27. Pingback: millenialsi

发表评论