Spring Boot的基础
Spring Boot的引入
Spring Boot的引入有两种方式:
a、使用<parent></parent>元素进行继承引入。如:<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.6.RELEASE</version></parent>
b、通过<dependencyManagement>元素添加
<dependencyManagement><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version> <scope>import</scope> <type>pom</type> </dependency></dependencies></dependencyManagement>
上面的2种方式都可以使一个工程变为Spring Boot工程。
Spring Boot的入口
Spring Boot的入口是一个标注了@SpringBootApplication的类。@SpringBootApplication是一个组合注解:@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 {Class<?>[] exclude() default {};String[] excludeName() default {};String[] scanBasePackages() default {};Class<?>[] scanBasePackageClasses() default {};}
@ComponentScan标注了扫描路径(默认是含有@SpringBootApplication的路径)
@SpringBootConfiguration是一个继承了@Configuration的注解类,也就说标注了@SpringBootConfiguration的类可以当做一个配置类。@SpringBootConfiguration的效果和@Configuration是一样的,唯一不同的是前者是Spring Boot提供的注解,后者是Spring提供的注解。
@EnableAutoConfiguration会在后面讲解
除了要在入口类标注@SpringBootApplication注解外,一般还需要一个main方法:
@SpringBootApplicationpublic class OrderApplication { public static void main(String[] args) { SpringApplication.run(OrderApplication.class, args); }}
查看SpringApplication.run(OrderApplication.class, args);的源码可以看到下面的代码:
public static ConfigurableApplicationContext run(Object source, String... args) { return run(new Object[] { source }, args);}
也就是说run()会将第一个参数作为源进行加载。
除了了使用SpringApplication.run()这个静态方法来启动Spring Boot外,还可以使用
SpringApplication application = new SpringApplication();Set<Object> set = new HashSet<>();set.add(OrderApplication.class);application.setSources(set); application.run(args);
这种方式来启动Spring Boot。这种方式可以指定多个源。
共同学习,写下你的评论
评论加载中...
作者其他优质文章