14. 组织你的代码
Spring Boot不需要使用任何特殊的代码结构,然而,这里有一些有用的最佳实践。
14.1. 使用"default"包
当类没有包含package
声明时,它被认为处于default package
下。通常不推荐使用default package
,并应该避免使用它。因为对于使用@ComponentScan
,@EntityScan
或@SpringBootApplication
注解的Spring Boot应用来说,来自每个jar的类都会被读取,这会造成一定的问题。
注:我们建议你遵循Java推荐的包命名规范,使用一个反转的域名(例如com.example.project
)。
14.2. 定位main应用类
我们通常建议你将main应用类放在位于其他类上面的根包(root package)中。通常使用@EnableAutoConfiguration
注解你的main类,并且暗地里为某些项定义了一个基础“search package”。例如,如果你正在编写一个JPA应用,被@EnableAutoConfiguration
注解的类所在包将被用来搜索@Entity
项。
使用根包允许你使用@ComponentScan
注解而不需要定义一个basePackage
属性。如果main类位于根包中,你也可以使用@SpringBootApplication
注解。
下面是一个典型的结构:
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- web
+- CustomerController.java
Application.java
文件将声明main
方法,还有基本的@Configuration
。
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
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
15. 配置类
Spring Boot提倡基于Java的配置。尽管你可以使用一个XML源来调用SpringApplication.run()
,我们通常建议你使用@Configuration
类作为主要源。一般定义main
方法的类也是主要@Configuration
的一个很好候选。
注:很多使用XML配置的Spring配置示例已经被发布到网络上。你应该总是尽可能的使用基于Java的配置。搜索查看enable*
注解就是一个好的开端。
15.1. 导入其他配置类
你不需要将所有的@Configuration
放进一个单独的类。@Import
注解可以用来导入其他配置类。另外,你也可以使用@ComponentScan
注解自动收集所有的Spring组件,包括@Configuration
类。文章来源:https://www.toymoban.com/news/detail-438691.html
15.2. 导入XML配置
如果你绝对需要使用基于XML的配置,我们建议你仍旧从一个@Configuration
类开始。你可以使用附加的@ImportResource
注解加载XML配置文件。文章来源地址https://www.toymoban.com/news/detail-438691.html
到了这里,关于Spring Boot代码结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!