这是我的第一篇博客,博客记录我以后的学习,包括一些总结之类的东西,当然,这些记录是针对于与我个人而言的,可能有些地方会有不好的,或者出现错误,欢迎大家来指正(如果有人看的话)废话不多说。进入正题:SpringBoot
当我在学习SSM框架的时候,先不谈Spring的一些核心开年,比如DI ,IOC,AOP等等,只是刚开始它的那些配置就让我觉得很头痛,在网上看了很多配置,但是很杂,而我自己在看了这些很杂的配置后,自己慢慢总结了配置,但也花了不少时间才真正的去弄懂它,不过这已经让我这个对设计思想一无所知的菜鸟来说, 我还不如直接new一个对象呢,虽然知道这种想法是很蠢,却足以说明我对Spring这些配置的头痛了,更不要说还要去整合mybaits的配置。显然,我这种菜鸟都能考虑到这点,Pivotal公司不可能考虑不到,所以出现了一种新的东西,SpringBoot,这对于我来说,简直就是Spring,当然,SpringBoot不是一种新的技术,只是一种自动整合了很多在开发中需要的配置,让我们这种菜鸟再也不要去为这些配置去烦心了(可能仅仅只是我)。
Spring官方提供SpringBoot的Eclipse插件去开发,不过,本人因为有一次使用Spring的插件觉得麻烦,就一直不想用着东西,所以还是用Eclipse原生的东西去学习。那么,我们开始快速的搭建一个SpringBoot的demo吧
首先,先看Maven的POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.sam.springboot</groupId> <artifactId>springboot-demo-02</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent --> <!-- springboot项目的父工程包 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> <!-- 指定UTF-8字符集和java 1.8 的编译 --> <properties> <project.bulid.sourceEncoding>UTF-8</project.bulid.sourceEncoding> <project.reproting.outputEncoding>UTF-8</project.reproting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <!-- springboot 的web jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot 的test jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- springboot 的开发工具包 可选 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> </dependencies> <build> <plugins> <!-- springboot的打包插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <packaging>war</packaging> </project>
官方建议springboot用gradle来管理jar,不过我一直用的Maven,所以就这么用吧,代码里面注释说的很清楚,我就不在解释,只是parent的这个可以还有一种方式 ,不过一般都用这种方式,另一种需要了解的可以去网上找。
然后我们建SpringBoot的程序入口
package com.sam.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class,args); } }
这样就可以啦 ,我们运行的时候像平常运行main方法就行啦。注意注解@SpringBootApplication,这个注解开启自动配置,有兴趣可以点进里面去看下,它集合了几个注解,还有一点值得注意的是,这个入口类的位置必须得是在其他类上面的包上,因为他会有一个扫描的注解去扫描其他包。
然后我们在建一个Controller层:
最后我们启动会出现一个SpringBoot的标志。然后看日志后面,基本就启动成功了,访问我们的路径,就OK了,tomcat是嵌入式的,默认端口为8080,容易吧!是不是感觉比以前的配置好的多,不过如果你没有学spring基础的东西,那么springboot报 了错你也会一无所知。
@RestController @RequestMapping("/demo/") public class DemoController { @Value(value="${sam.secret}") private String secret; @Value(value="${sam.number}") private Integer number; @RequestMapping() public String demo() { return "Hello SpringBoot!"; } @RequestMapping("name") public Map<String, String> sayHello(@RequestParam("name") String name) { Map<String, String> map = new HashMap<>(); map.put("name", name); map.put("value", "Hello "+name); map.put("secret", secret); map.put("number", number.toString()); System.out.println(number); return map; }