SpringBoot
作用
简化了第三方包的引用,通过提供的starter,简化了依赖包的配置
优点
- 轻松创建独立的Spring应用程序
- 内嵌Tomcat,jetty等web容器,不需要部署WAR文件
- 提供一系列的"starter"来简化Maven配置,不要添加很多的依赖
Spring boot入门案例
IDEA创建webapp是war包项目,创建quickstart则是jar包项目
Springboot第一种启动方式,通过main方法只能启动一个Controller
springboot-test2
- 在pom.xml中导入父依赖和配置web依赖
<!--Spring boot 父依赖提供了依赖管理,之后申明其他的dependency的时候就不需要version了-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<!--Spring boot配置web的依赖-->
<!--springweb核心组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
spring-boot-starter-parent作用:依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
spring-boot-starter-web作用:springweb 核心组件
- 创建Rest风格Controller(Restful将参数写到链接中,不写到?后面)
@RestController //声明Rest风格的控制器
@EnableAutoConfiguration //自动配置,相当于写了Spring的配置文件
public class HelloController {
@RequestMapping("hello/{name}")
@ResponseBody //把return的内容转为json
public String hello(@PathVariable() String name){
return name + ":Hello,Spring Boot";
}
public static void main(String[] args) {
//启动Springboot的项目入口
SpringApplication.run(HelloController.class,args);
}
}
@PathVariable中单个值括号内可以不写
访问地址:http://localhost:8080/hello/tang
结果:tang:Hello,Spring Boot
Springboot常用启动方式
- 创建App类,配置EnableAutoConfiguration和组件扫描ComponentScan,然后创建SpringApplication启动程序,好处是可以同时访问多个Controller
@RestController //声明Rest风格的控制器
//@EnableAutoConfiguration //自动配置,相当于写了Spring的配置文件
@RequestMapping("user")
public class UserController {
@RequestMapping("{id}")
@ResponseBody //把return的内容转为json
/**
* 通过id查询用户的信息
*/
public User userInfo(@PathVariable() Integer id){
User user = new User("tang","123");
user.setId(id);
return user;
}
}
- @RestController用于写API,给移动客户端提供数据,一般是返回json数据
- @Contoller一般用于写后台(有页面)
mvn:dependency:tree可以查看依赖树形结构
静态资源访问
Springboot默认提供的资源目录位置需要放置与classpath下,目录名需符合如下规则:
- /static
- /public
- /resources
- /META-INF/resources