您的位置:首页 > 编程语言 > Java开发

1、Spring Boot的基础

2018-01-06 11:20 134 查看
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方法:

@SpringBootApplication
public 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。这种方式可以指定多个源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring boot 系列