@SpringBootApplication 注解教程

JAVA herman 269浏览 0评论

Spring Boot 现在很火啊,火到你不学习,可能几年后你就被淘汰了。现在大的公司,包括一些支付,电商等小公司都在使用 Spring Boot。所以我们还是很有必要对它进行一下系统的学习。本文将介绍 @SpringBootApplication 注解的作用以及 SpringBoot 是如何运行的。

@SpringBootApplication 注解是用来来标注一个类,说明这是一个Spring Boot应类。

@SpringBootApplication 注解标记的类,并不一定需要包含 main 方法。

public class XttblogApplication {
    public static void main(String[] args) {
		// 业余草:www.xttblog.com
        // Spring应用启动起来
		// HelloWorldMainApplication 类是@SpringBootApplication标记的类。
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

@SpringBootApplication 注解的 HelloWorldMainApplication.class 类。

@SpringBootApplication
public class HelloWorldMainApplication {
}

也就是说 @SpringBootApplication 注解可以和 main 方法,也就是 SpringApplication.run() 方法分开。并不一定非要在一个类中。

@SpringBootApplication:Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。

@SpringBootApplication 是一个组合注解,主要包含 @SpringBootConfiguration 和 @EnableAutoConfiguration 这两个注解。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
      @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
      @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
  • @SpringBootConfiguration:Spring Boot的配置类;标注在某个类上,表示这是一个Spring Boot的配置类;@Configuration:配置类上来标注这个注解;配置类 —–  配置文件;配置类也是容器中的一个组件;@Component
  • @EnableAutoConfiguration:这是一个 Spring Boot 的一个核心注解类。他是 Spring Boot 不需要配置,或者做到零配置的一个关键注解。它主要的作用是开启自动配置功能;以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration 告诉 SpringBoot 开启自动配置功能;这样自动配置才能生效;关于 @EnableAutoConfiguration 注解,我们将单独来做一章进行学习。因为它是整个 Spring Boot 的一个核心。

@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan。

@Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

具体可以看下面的示例:

<beans>  
    <bean id = "xttblog" class="com.test.Xttblog">  
        <property name="url" ref = "test"></property>  
    </bean>  
    <bean id = "wheel" class="com.test.Test"></bean>  
</beans> 

而使用了 @Configuration 我们就可以这样写:

@Configuration  
public class Conf {  
    @Bean  
    public Xttblog getXttblog() {  
        Xttblog a = new Xttblog();  
        a.setUrl(getTest());  
        return a;  
    }  
    @Bean   
    public Test getTest() {  
        return new Test();  
    }  
} 

@Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847,QQ3群:187424846。QQ群进群密码:xttblog,想加微信群的朋友,可以微信搜索:xmtxtt,备注:“xttblog”,添加助理微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » @SpringBootApplication 注解教程