(springboot)入门(一)
(这段是废话)隔了也不知道多久,重新开始 写博客了,之前一直没坚持下来,但是都是用有道云去做的记录,现在有道云记录了太多了,很乱,刚好这阵子公司项目做的差不多了,下半年好像有新的项目启动,所以这阵子开始整理笔记,顺便写下博客。
开始写这个系列博客时,已经用springboot有段时间了,一开始接触这个是从我师傅那里推荐的,很方便,非常好的一个框架。
开始学的时候是看他的博客入门的:http://blog.720ui.com/2016/springboot_01_quickstart/ 当然他写的肯定比我好多了,哈哈哈。
使用springboot,推荐跟maven一起使用,如果不清楚什么是maven的话,自行学习下吧。
先启动下然后在介绍吧。在maven中启动,需要导入相对应的 依赖包
可以添加这个配置,让你的maven基础springboot,这样添加springboot其他模块包就不需要在配置版本号,用熟悉的话个人不推荐继续这么使用,可以 http://search.maven.org/#search%7Cga%7C1%7Cspring 在这个网站上搜索对应的springboot 的模块包和对应的版本信息
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> </parent>
添加springboot 启动包
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies>
build编译,将maven该项目编译成可执行的jar或是war包,启动类所在的项目模块需要添加这个配置。详细的可以搜索下了解。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
启动,springboot自带tomcat,并且他也自带配置文件,所以几乎是不需要开发者去配置那些繁琐的配置项,只需要一个启动类就能快速启动了。
@SpringBootApplication public class Main { public static void main(String[] args){ SpringApplication.run(Main.class,args); } }
运行这个主方法,springboot就启动了。
搭建一个web ,helloword
刚才导入的是启动包,现在需要的web项目,所以需要淡入web依赖,如果你细心的话你会发现,他会自动的导入相对应的所有依赖包,会把其他spring的包一并导入,非常方便,不在需要记住spring需要什么包啊,通用依赖包,都不需要。后面集合其他框架也是非常方便快捷的。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
测试,这里由于没有保存当时学习例子就用了原来看的博客的代码。
@RestController @EnableAutoConfiguration public class RestfulApiWebDemo { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(RestfulApiWebDemo.class, args); } }
他这样就可以运行一个hello,注意,访问的路径是localhost:8080/ 因为,他是直接启动内置的tomcat,而平时项目都是直接通过编译器然后导入到外部tomcat的webapps,来张图看下吧,毕竟这个坑我当时也是踩了很久
这个就是通过编译器导入到tomcat,注意到这里有一个默认的项目root,和自己的项目,如果你希望你的项目部署后不需要加项目名,那就把项目解压到ROOT文件夹里,就不需要添加项目名,tomcat访问ROOT是不需要的,而为了区分其他项目,所以需要添加项目名。
springboot启动,你通过主方法启动他的内置tomcat,所以只有一个项目,就不需要添加项目名,当然他也支持打包成war,在其他tomcat上也是可以的。
当然也可以在上面的上面的一个例子进行hello例子,添加一个包和类。上面的例子用的是@RestController,他返回的是字符串,直接显示在页面上,而平时常用的@Controller,他会自动去寻找hello的模板页,然后去显示,所以还需要集成freemarker。
@Controller @RequestMapping("/HelloWord") public class HelloWord { @RequestMapping(value = "/",method = RequestMethod.GET) public String helloword(){ return "hello"; } }