Java-SpringBoot注解一@SpringBootApplication注解

转自:https://blog.csdn.net/claram/article/details/75125749

1、@SpringBootApplication注解

被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解,简化程序的配置;

①@Configuration

一般与 @Bean 注解配合使用,用 @Configuration 注解类等价与 XML 中配置 beans;

用 @Bean 注解方法等价于 XML 中配置 bean;

举例:


    
        
    
    

就等价于

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Config {
    @Bean
    public UserService getUserService(){
        UserService userService = new UserService();
        userService.setUserDAO(null);
        return userService;
    }

    @Bean
    public UserDAO getUserDAO(){
        return new UserDAO();
    }
}

②@EnableAutoConfiguration

启用 Spring 应用程序上下文的自动配置,试图猜测和配置您可能需要的bean。

自动配置类通常采用基于你的 classpath 和已经定义的 beans 对象进行应用。

被 @EnableAutoConfiguration 注解的类所在的包有特定的意义,并且作为默认配置使用。

例如,当扫描 @Entity类的时候它将本使用。

通常推荐将 @EnableAutoConfiguration 配置在 root 包下,这样所有的子包、类都可以被查找到。

 

③@ComponentScan

为 @Configuration注解的类配置组件扫描指令。同时提供与 Spring XML’s 元素并行的支持。

无论是 basePackageClasses() 或是 basePackages() (或其 alias 值)都可以定义指定的包进行扫描。

如果指定的包没有被定义,则将从声明该注解的类所在的包进行扫描。

通俗的讲,@ComponentScan 注解会自动扫描指定包下的全部标有 @Component注解 的类,并注册成bean,当然包括 @Component 下的子注解@Service、@Repository、@Controller。@ComponentScan 注解没有类似 的属性。

2、@MapperScan

@MapperScan("com.xxx.**.**.dao"),扫描定义路径下的包

https://blog.csdn.net/cml_blog/article/details/65658654

你可能感兴趣的:(java)