Spring Boot(2.1.6.RELEASE)コード構造規範

2362 ワード

コード構造
  • は、「default」パッケージを使用することを提案していません.クラスがパケットメッセージを含まない場合、「default package」にあると考えられます.「default package」の使用は避けるべきです.これはSpring Bootの使用につながる.applications@ComponentScan@EnttityScanまたは@Spring Bootationのコメントをスキャンする時にjava classを全部スキャンします.jarパッケージを含みます.
  • は、Javaによって推薦されたパケット名の約束に従い、逆ドメイン名(例えば、comp.example.project)を使用するべきである.
  • Main Application Class
    Main Application Classを他の種類より上のルートバッグに入れることをおすすめします.メインクラスを明示するために@Spring Bootationを使用して、どのようなカバンをスキャンするかを暗黙的に定義しています.
    TIPS:もし@Spring Bootationを使いたくないなら、@EnbaleAutoConfigration+@ComponentScan注釈を使って代替できます.
    package com.example.myapplication;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class MainApplication {
    
    	public static void main(String[] args) {
    		SpringApplication.run(Application.class, args);
    	}
    
    }
    
    典型的なコード構造レイアウト
    com
     +- example
         +- myapplication
             +- MainApplication.java
             |
             +- customer
             |   +- Customer.java
             |   +- CustomerController.java
             |   +- CustomerService.java
             |   +- CustomerRepository.java
             |
             +- order
                 +- Order.java
                 +- OrderController.java
                 +- OrderService.java
                 +- OrderRepository.java
    
    設定クラスを使う
    Spring BootはJavaクラスによる構成をサポートします.SprigAplication.xml類の構成は使えますが、普通は単一@Configration類を使って設定することを勧めます.
  • 他の構成類を導入して、すべての@Configration配置を同じクラスに置く必要はありません.@Imporを使って追加の構成クラスを導入できます.または@ComponentScanを使用して、@Configrationクラスを含むすべてのSpringコンポーネントを自動的に取得することができます.
  • XMLプロファイルを導入し、XMLファイルを使用して構成しなければならないならば、@Configration classを使用して@ImportResource注釈を使用してXMLプロファイルをロードすることができます.
  • 自動化構成類@EnbaleAutoConfigration:spring boot注解は、いくつかの機能をオンにするときに自動配置
  • を行う.
  • 特定の自動化プロファイル@EnbaleAutoConfigrationのexclude属性を無効にして
    import org.springframework.boot.autoconfigure。*;
    import org.springframework.boot.autoconfigure.jdbc。*;
    import org.springframework.context.annotation。*;
    
    @Configuration 
    @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
     public  class MyConfiguration {
    }
    
  • を無効にします.
    依存注入
    任意の標準的なSpring Framewark技術を自由に使用して,beanとその注入の依存項を定義することができる.簡単のために、@ComponentScan(@Component、@Service、@Repository、@Controller)と@Autowiredを使って効果が高いことがよく分かります.