目录
- Spring Boot学习日志(一)Hello World
- Spring Boot学习日志(二)JPA操作Mysql
- Spring Boot学习日志(三)再谈Jpa
- Spring Boot学习日志(四)使用Mybatis
- Spring Boot学习日志(五)结合Swagger管理接口
一,系统环境
JDK:1.8.0_144
maven:3.5.2
二,使用IntelliJ IDEA创建项目
1,选择项目类型
2,编辑项目信息
这里packaging可以选择jar 或者 war
3,选择需要的war包
剩下的直接Next就可以了
4,项目目录
项目目录分为
src
—–main 主目录
———-java 代码目录
———-resources 资源目录
—–test 测试目录
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication表示整个项目的入口,整个项目只有一个类可以有这个注解。
application.properties为配置文件,项目配置一般都是写在这个文件里。
三,HelloWorld
现在项目已经可以运行了
在DemoApplication中右键RunDemoApplication即可
控制台会输出
2018-02-01 13:48:09.229 INFO 820 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-02-01 13:48:09.295 INFO 820 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
表示项目已经运行在8080端口啦。
但是项目没有任何的Controller,也就是我们自己写的逻辑代码的访问入口,首先创建一个HelloController类
在类名上加入@RestController注解,表示则Controller中的方法不会返回视图,返回的内容直接就是方法内里的内容。
在方法前加入 @RequestMapping注解,表示进入该方法的url路径,比如@RequestMapping(value = “hello”),在localhost:端口/hello,就会返回hello里的内容
@RestController
public class HelloController {
@RequestMapping(value = "hello")
public String hello(){
return "HelloWorld";
}
}
四,出错
我创建项目时,packaging选择的jar,如果选择war的话,直接运行可能会出现错误:
Unregistering JMX-exposed beans on shutdown
原因是因为没有加载到tomcat
pom.xml文件里面有这么一段
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
这里的
<scope>provided</scope>
provided表示这个项目已经有了这个依赖,所以这个依赖只会在编译测试的时候用到,在实际运行的时候不会把这个依赖打包进去,所以运行一直失败,把这一句话删掉之后就可以正常运行了。