Spring Boot 之 HelloWorld详解

SpringBoot介绍~<暂时假装有>

配置

<?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.nowcoder</groupId>
    <artifactId>wenda</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

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

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.6.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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>

Controller层

简单Hello输出

@Controller
public class IndexController {
@RequestMapping(path = {"/","/index"})
@ResponseBody
    public String index(){
        return "Hello";
    }
}

访问:

http://127.0.0.1:8080/index
http://127.0.0.1:8080/

输出:

Hello

参数解析输出

路径传递

@Controller
public class IndexController {
@RequestMapping(path = {"/","/index"})
@ResponseBody
    public String index(){
        return "Hello";
    }

    @RequestMapping(path = {"/profile/{userId}"})
    @ResponseBody
    public String profile(@PathVariable("userId")  int  userId ){
        return String.format("Profile Page of %d",userId);
    }
}

访问http://127.0.0.1:8080/profile/2

Profile Page of 2

参数解析输出例2

@RequestMapping(path = {"/profile/{groupId}/{userId}"})
@ResponseBody
public String profile(@PathVariable("userId")  int  userId ,
                      @PathVariable("groupId")  String  groupId ){
    return String.format("Profile Page of %s / %d",groupId,userId);
    }

访问http://127.0.0.1:8080/profile/admin/10086

Profile Page of admin / 10086

eg3请求参数传递

@RequestMapping(path = {"/profile/{groupId}/{userId}"})
@ResponseBody
public String profile(@PathVariable("userId")  int  userId ,
                      @PathVariable("groupId")  String  groupId ,
                      @RequestParam("type")  int  type ,
                      @RequestParam("key")  String  key ){
    return String.format("Profile Page of %s / %d , t:%d k:%s",groupId,userId,type,key);
}

访问http://127.0.0.1:8080/profile/admin/10086?type=2&key=w

Profile Page of admin / 10086 , t:2 k:w

模板Velocity使用

controller

@RequestMapping(path = {"/vm"},method = {RequestMethod.GET})
public String template(Model model){
    model.addAttribute("value1","vvvv1");
    return "home";
}

指向home.html 渲染

<html>
<body>
<pre>
    #*
    你看不到我~~~~
    *#
    $!{value1}
    $!{value2} ## 如果不存在,强制为空
    ${value3}
</pre>
</body>
</html>

依赖

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

application.properties 配置

spring.velocity.suffix=.html

访问http://127.0.0.1:8080/vm

    vvvv1
         ${value3}

总结

  1. @Controller 注释来定义说这是一个网页入口
  2. @RequestMapping 指定访问地址or传入参数
  3. 用@PathVariable和@RequestParam对传入参数做解析
  4. 用@ResponseBody or 模板文件 返回结果

原文地址:https://www.cnblogs.com/daminzhou/p/8378860.html

时间: 2024-10-25 15:08:22

Spring Boot 之 HelloWorld详解的相关文章

Spring Boot属性配置文件详解

自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: com.example.blog.name=zzh com.example.blog.title=hello springboot @Component public class BlogProperties { @Value("${com.example.blog.name}") private String name; @Value("${com.exa

spring-boot实战【08】【转】:Spring Boot属性配置文件详解

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用. 在之前的各篇文章中都有提及关于application.pro

Spring Boot启动流程详解(一)

环境 本文基于Spring Boot版本1.3.3, 使用了spring-boot-starter-web. 配置完成后,编写了代码如下: @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } @RestController public class RootCont

(拿来主义-8) Spring Boot属性配置文件详解(三)

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用. 自定义属性与加载 我们在使用Spring Boot的时候,通

spring boot配置信息详解

# REDIS (Redis 配置)# 连接工厂使用的数据库索引spring.redis.database= 0# Redis服务器主机spring.redis.host= localhost# 登录redis服务器的密码spring.redis.password= # 给定时间池可以分配的最大连接数 使用负值为无限制spring.redis.pool.max-active= 8# 池中“空闲”连接的最大数量 使用负值来表示无限数量的空闲连接spring.redis.pool.max-idle=

Spring中AOP实例详解

Spring中AOP实例详解 需要增强的服务 假如有以下service,他的功能很简单,打印输入的参数并返回参数. @Service public class SimpleService { public String getName(String name) { System.out.println(get name is: + name); return name; } } 定义切面和切点 @Component @Aspect public class L ogAspect { // 定义切

elasticSearch+spring 整合 maven依赖详解

摘自:http://www.mayou18.com/detail/nTxPQSyu.html [Elasticsearch基础]elasticSearch+spring 整合 maven依赖详解 Maven依赖   <!-- elasticsearch package -->        <dependency>             <groupId>fr.pilato.spring</groupId>             <artifact

Spring Data操作Redis详解

Spring Data操作Redis详解 Redis是一种NOSQL数据库,Key-Value形式对数据进行存储,其中数据可以以内存形式存在,也可以持久化到文件系统.Spring data对Redis进行了很好的封装,用起来也是十分的得心应手.Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted se

Spring IOC源码详解之容器依赖注入

Spring IOC源码详解之容器依赖注入 上一篇博客中介绍了IOC容器的初始化,通过源码分析大致了解了IOC容器初始化的一些知识,先简单回顾下上篇的内容 载入bean定义文件的过程,这个过程是通过BeanDefinitionReader来完成的,其中通过 loadBeanDefinition()来对定义文件进行解析和根据Spring定义的bean规则进行处理 - 事实上和Spring定义的bean规则相关的处理是在BeanDefinitionParserDelegate中完成的,完成这个处理需