Spring Boot关于代码结构两点建议

来源:互联网 发布:java 搜索框架 编辑:程序博客网 时间:2024/05/15 17:18

不要使用Java默认包

当一个类没有包声明时,会被默认放入”default package”中。而”default package”的使用是不被建议的,应当避免,因为它的使用可能会导致在使用@ComponentScan,@EntityScan或者@SpringBootApplication注解时发生特别的问题。

注:我们推荐你遵从java的包命名规范,使用反转域名命名包。如:com.example.project.

存放main应用的位置

通常我们推荐你把你的main应用类放于你的root包下,其他类之上。@EnableAutoConfiguration注解通常要放在你的Main类上,它隐式的定义了一个对某些项的基本搜索包。例如,你要写一个JPA应用,@EnableAutoConfiguration注解的类的包将会成为搜索@Entity注解的元素。

这样做另一个好处就是就你在此main类上使用@ComponentScan注解时就不需要为其指定basePackage,另外也可以直接在此main类上使用@SpringBootApplication注解。

下面是典型层级:

com +- example    +- myproject        +- Application.java        |        +- domain        |   +- Customer.java        |   +- CustomerRepository.java        |        +- service        |   +- CustomerService.java        |        +- web        |   +- CustomerController.java

需要在Application.java中声明main方法,如下:

package com.example.myproject;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@EnableAutoConfiguration@ComponentScanpublic class Application{    public static void main(String[] args){        SpringApplication.run(Application.class,args);    }}
原创粉丝点击