- SpringBoot不是应用服务器,可以把Web应用程序变为自执行的Jar文件,不用部署到传统的JAVA应用服务器里就能在命令行里运行。原因是SpringBoot在应用里嵌入了一个Servelet容器(Tomcat、Jetty或者Undertow)。这是内嵌的Servelet容器提供的功能,不是Springboot实现的。
- Artifact:myapp、包名:myapp、类型:Gradle项目(maven)、依赖:Web和JPA
- 根目录有pom.xml,先后i依赖
- Application.java:一个带有main()方法,用于启动应用程序,配置和启动引导。
- ApplicationTests.java:一个空的Junit测试类,它加载一个使用SpringBoot自动配置功能的Spring应用程序上下文
- Static目录防止的是Web应用程序的静态内容(js\css、img等)
- Templates里面放的是html
- 框架:Spring MVC处理Web请求,用Thymeleaf来定义Web视图,用Spring Data JPA来把数据持久化到数据库里
- application.properties:用于配置应用程序和Spring Boot的属性。
注解分析:
@SpringBootApplication:开启组件扫描和自动配置,将三个游泳的注解组合在一起。
@Configuration:标明使用Spring基于java的配置
@ComponentScan:启用组件扫描,这样写的Web控制类和其他组件才能自动发现并注册为Spring应用程序上下文里的Bean
@Abracadabra,一行配置开启了spring Boot自动配置的魔力,
在早期版本上,需要同时标上这三个注解,但从SPringle1.2.0开始,有@ SpringBootApplication就可以了
SpringApplication.run(CourhelperApplication.class, args);
负责启动引导应用程序。
- 覆盖起步以来引入的传递依赖:
排除传递依赖:
<dependency>
<groupId>org.springbootwork.boot</group>
<artifactId> spring-boot-starter-web </artifactId>
<exclusions>
<exclusion>
<groupId>com.faserxml.jackson.core</groupId>
<exclusion>
<exclusions>
</dependency>
在maven里面单独使用
<dependency>
<groupId>com.fasterxml.jackson.core </groupId>
<artifactId>Jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>