SpringBoot学习<一>——快速搭建SpringBoot

  这是我的第一篇博客,博客记录我以后的学习,包括一些总结之类的东西,当然,这些记录是针对于与我个人而言的,可能有些地方会有不好的,或者出现错误,欢迎大家来指正(如果有人看的话)废话不多说。进入正题: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;
	}
posted @ 2017-11-18 23:28  samluby  阅读(293)  评论(0编辑  收藏  举报