SpringBoot第一个程序

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。


Spring boot的特点

1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置


Spring boot的优点

spring boot 可以支持你快速的开发出 restful 风格的微服务架构

自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便。只要系统架构设计合理,大型项目也能用,加上nginx负载均衡,轻松实现横向扩展

spring boot 要解决的问题, 精简配置是一方面, 另外一方面是如何方便的让spring生态圈和其他工具链整合(比如redis, email, elasticsearch)



springboot的Maven配置文件pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.xuan</groupId>
	<artifactId>myspringboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>myspringboot</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.8.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!--springboot整合redis-->
		<!--<dependency>-->
			<!--<groupId>org.springframework.boot</groupId>-->
			<!--<artifactId>spring-boot-starter-data-redis</artifactId>-->
		<!--</dependency>-->
		<!--springboot整合mybatis-->
		<!--<dependency>-->
			<!--<groupId>org.mybatis.spring.boot</groupId>-->
			<!--<artifactId>mybatis-spring-boot-starter</artifactId>-->
			<!--<version>1.3.1</version>-->
		<!--</dependency>-->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!--模板页面-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>net.sourceforge.nekohtml</groupId>
			<artifactId>nekohtml</artifactId>
			<version>1.9.22</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>



application.yml

#端口
server:
  port: 8080

spring:
      thymeleaf:
        cache: false
        prefix: classpath:/templates/
        suffix: .html
        mode: LEGACYHTML5
    #    encoding: UTF-8
    #    content-type: text/html
    #    注释的部分是Thymeleaf默认的配置,如有其它需求可以自行更改



程序1:

package com.xuan.controller;

import com.xuan.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.*;

/**
 * Created by chenqixuan on 17/10/24.
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @GetMapping(value="/hello")
    public String getUser(){
        return "hello spring boot";
    }

    @RequestMapping(value="/map")
    public Map<String,Object> getUserMap(){
        Map<String,Object> map = new HashMap<>();
        map.put("在ss","小米");
        map.put("24ww","小xx");
        return map;
    }

    @GetMapping(value="/list")
    public List getUserList(){
        List list = new ArrayList();
        User u1 = new User();
        u1.setId(1);
        u1.setName("xiao");
        u1.setAge(23);
        u1.setAddress("guanz");

        User u2 = new User();
        u2.setId(2);
        u2.setName("xiao2");
        u2.setAge(25);
        u2.setAddress("guanz2");

        User u3 = new User();
        u3.setId(12);
        u3.setName("xiao3");
        u3.setAge(24);
        u3.setAddress("guanz3");

        list.add(u1);
        list.add(u2);
        list.add(u3);

        return list;
    }


    @RequestMapping(value="/index")
    public String goIndex(){
        return "index";
    }


}

返回模板页面的程序

package com.xuan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created by chenqixuan on 17/10/24.
 * 这里使用@Controller,而不是@RestController注解
 * 因为@RestController,表示同时使用@Controller和@ResponseBody,所以会返回hello
 * 而不是返回hello.html的内容。
 */
@Controller
public class HomeController {

    @RequestMapping(value="/index")
    public String goIndex(){
        return "index";
    }
}


效果图:



图2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值