阅读 261

SpringBoot入门实践(三)-工程结构及常用注解

  我的博客:兰陵笑笑生,欢迎浏览博客!

 上一章 SpringBoot入门实践(二)-配置文件及应用程序属性当中,我们介绍了SpringBoot的全局配置文件的讲解,实现了在配置文件中配置不同结构的数据,并且完成代码中如何获取到配置的值。本章将详细的讲解项目的工程结构和一些常用的注解。

项目的包名

 项目的主类(Application.class)一般都是在指定的包命下,例如:com.example.myapplicaiton. 采用反向命名法。我们不推荐没有包的主类.,这样会出现一些问题。

官方提供的典型布局

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 等组件。

常用注解

1、注解 @SpringBootApplication:

​   @SpringBootApplication= @Configuration + @EnableAutoConfiguration + @ComponentScan

2、注解 @Configuration :

​   在spring时代,我们都是通过XML配置Bean的

 <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的来源。

3、注解@EnableAutoConfiguration

  表面的含义就是开启自动配置,springBoot默认会加载一些开源的技术,约定大于配置的含义也是可以从这个注解中看到的。

 作用:将org.springframework.boot.autoconfigure.jar下的 类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容器中,包括常用的数据库,elasticsearch、redis、security等大多数的应用。如下图

file

 具体是什么样的加载机制,请自行百度。

4、注解@ ComponentScan

 指定包路径,会扫描@Component@Service@Repository@Controller

 以上就是本期的分享,你还可以关注本博客的#Spring Boot入门实践系列!#

本文由博客一文多发平台 OpenWrite 发布!

关注下面的标签,发现更多相似文章
评论