环境搭建
maven下引入
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
这个parent依赖里面几乎把开发用到的所有jar包及版本规定好了。所以不会发生jar包版本的冲突。
接下来我们要做的是引入开发所需的依赖,我们要开发web项目就要引入该依赖
//springboot web组件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
......
常用注解
@RestController:注解等于spring中的@ResponseBody+@Controller
@ComponentScan:需要被扫描的包
@EnableAutoConfiguration注解:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置 这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
@SpringBootApplicatiom:@Configuration+@EnableAutoConfiguration+@ComponentScan
@Transactional:注解配置事物
SpringApplication.run(HelloController.class,args);
标识为启动类
SpringBoot启动方式一
Springboot默认端口号为8080
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
}
}
启动主程序,打开浏览器访问http://localhost:8080/index,可以看到页面输出HelloWorld
SpringBoot启动方式2
@ComponentScan(basePackages = "com.itmayiedu.controller")//控制器扫包范围
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
访问静态资源
springboot:默认配置静态资源位置需要在resource下,并且目录规则符合如下:
/static、/public、/resources、/META-INF/resources
举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件D.jpg。启动程序后,尝试访问http://localhost:8080/D.jpg。如能显示图片,配置成功。
全局异常处理
@ExceptionHandler表示拦截异常
@ControllerAdvice 是 controller 的一个辅助类,最常用的就是作为全局异常处理的切面类
@ControllerAdvice 可以指定扫描范围
@ControllerAdvice 约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用 @ResponseBody 进行 json 转换
返回 String,表示跳到某个view
返回modelAndView
返回model +@ResponseBody
@ControllerAdvice
public class GlobException {
@ExceptionHandler(value=RunTimeException.class)
@ResponseBody
public String exceptionHandler() {
return "error";
}
}
网友评论