m’v SpringBoot的一些优点:
- 核心功能——自动配置
- 无需配置复杂的XML
- 内嵌Web服务器(Tomcat、Jetty等)
- 提供POM,简化Maven配置
- 对第三方插件分装整合,提供第三方接口
1.核心功能——自动配置
自动配置的意思是,将大多数用户平时习惯设置的配置为默认配置,以此来为用户快速构建出标准化的应用
启动类:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication
这个注解是springboot自己的新注解,是一个组合的注解
@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 {
}
其中@EnableAutoConfiguration这个注解就是自动配置的注解,下面是这个注解的源码
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
Class<?>[] exclude() default {};
String[] excludeName() default {};
}
这个@EnableAutoConfiguration注解里有一个@Import导入了AutoConfigurationImportSelector用来实现具体的方法,
3.内嵌Web服务器
Spring需要手动打包web项目,使用外部服务器来启动项目,部署spring项目到服务器过程
- 在服务器中安装java环境
- 将spring项目打包成war包,如果是maven项目,先在pom文件中修改packaging为war,再输入mvn install -DskipTests,在生成的target包中就可以看到打包出来的war包。也可以在project structure——artifacts——web application archive中生成war包,修改output directory,修改war包的生成位置。再Build
- 将生成的war包放入tomcat目录的webapps目录下
- 启动tomcat目录的bin目录下的startup.bat,启动项目
- 在地址栏输入url就可以访问该项目了