SpringBoot入門實踐(三)-工程結構及經常使用註解

  個人博客:蘭陵笑笑生,歡迎瀏覽博客!java

 上一章 SpringBoot入門實踐(二)-配置文件及應用程序屬性當中,咱們介紹了SpringBoot的全局配置文件的講解,實現了在配置文件中配置不一樣結構的數據,而且完成代碼中如何獲取到配置的值。本章將詳細的講解項目的工程結構和一些經常使用的註解。redis

項目的包名

 項目的主類(Application.class)通常都是在指定的包命下,例如:com.example.myapplicaiton. 採用反向命名法。咱們不推薦沒有包的主類.,這樣會出現一些問題。spring

官方提供的典型佈局

com
 +- example
     +- myapplication
         +- Application.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java

主類

package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}

 使用 @SpringBootApplication 註解 ,默認會掃描當前路徑下的全部的使@Controller,@Service@Component 等組件。數據庫

經常使用註解

一、註解 @SpringBootApplication:

​   @SpringBootApplication= @Configuration + @EnableAutoConfiguration + @ComponentScanapp

二、註解 @Configuration :

​   在spring時代,咱們都是經過XML配置Bean的elasticsearch

<beans>     
       <bean id = "car" class="com.test.Car">         
        <property name="wheel" ref = "wheel"></property>   
        </bean>   
        <bean id = "wheel" class="com.test.Wheel"></bean>
  </beans>

 在spingBoot中佈局

@Configuration  
public class Conf {    
    @Bean     
    public Car car() {  
        Car car = new Car();        
        car.setWheel(wheel());  
        return car;   
    }      @Bean  
    public Wheel wheel() {   
        return new Wheel();   
    }
}

  使用@Configuration標識的類,能夠認爲當前的Conf就是一個XML,@Bean的類能夠是Spring IOC中的bean的來源。.net

三、註解@EnableAutoConfiguration

  表面的含義就是開啓自動配置,springBoot默認會加載一些開源的技術,約定大於配置的含義也是能夠從這個註解中看到的。3d

 做用:將org.springframework.boot.autoconfigure.jar下的 類路徑下 META-INF/spring.factories 裏面配置的全部EnableAutoConfiguration的值加入到了容器中,包括經常使用的數據庫,elasticsearch、redis、security等大多數的應用。以下圖code

file

 具體是什麼樣的加載機制,請自行百度。

四、註解@ ComponentScan

 指定包路徑,會掃描@Component@Service@Repository@Controller

 以上就是本期的分享,你還能夠關注本博客的#Spring Boot入門實踐系列!#

本文由博客一文多發平臺 OpenWrite 發佈!

個人博客地址蘭陵笑笑生 ,歡迎瀏覽!

相關文章
相關標籤/搜索