IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 关于Springmvc的路由和参数注入 -> 正文阅读

[Java知识库]关于Springmvc的路由和参数注入

SpringBoot目录结构

01、构建springboot的项目的准备工作

  • maven3.6/gradle
  • jdk1.8+
  • idea

02、使用idea快速构建springboot项目

  • SpringBoot的底层还是spring的ioc的机制来完成的bean的注入

    • 你遵循规则
    • SpringBoot设计的初衷:简化开发流程,并且去掉传统基于xml的方式的注入bean机制
    • 一句话:约定大于配置,其实底层还是spring的机制。
  • 什么是约定大于配置

    • 如果你要完成springboot项目的开发,就必须所有的包和所有的类都必须放在启动类的包的下面即可。

    • springboot如何去除xml配置呢?

      • 我们知道在传统的spring开发中,注入bean的方式是xml+

        applicationContext.xml

        <import file="application-UserConfiguration.xml"/>
        <import file="application-CurseConfigurtation.xml"/>
        

        application-UserConfiguration.xml如下:

        <beans xxxx>
        	<bean id="userService" class="com.lya.service.UserServiceImpl"/>
        </beans>
        
      • 用面向对象的方式来进行替代传统的xml+的方式,就是:@Configuration+@Bean的方式

        package com.lya.config;
        
        import com.service.UserServiceImpl;
        import org.springframework.context.annotation.Bean;
        import org.springframework.context.annotation.Configuration;
        
        /**
         * @author lyayykk
         * @title: UserConfiguration
         * @projectName springboot-music
         * @description: TODO
         */
        @Configuration
        public class ApplicationContextUserConfiguration {
        
           X
        }
        
        
  • 问题1:它如何把bean注入springioc的容器的呢?是怎么做到的?

  • 问题2:如果我不遵循规则,能不能完成注入springioc容器中呢?@Import机制

SpringMvc的路由和参数的注入方式

01、路由

路由:其实就是访问资源的一个路径,而这个路径其实是让你自定去定义的。

其实你访问每天在电脑中访问的磁盘目录和文件它其实就是一个路由定义和访问资源的方式,只不过这个遵循的协议是:file文件协议:

  • D:\xingqiublog\lya-test\src === files:// D:\xingqiublog\lya-test\src\a.txt

sprignmvc的路由认识:

定义的方法,路由方法,这个方法作用访问服务器资源:
资源分为两种:
1: 磁盘文件资源
2: 返回服务内存数据资源
底层:两者都是通过io流进行返回:response.getWriter进行返回 response是一个输出流OutPutStream
遵循的协议是:http协议,访问的时候就是:http://ip:port/路径(路由)

@GetMapping("/a/b")
public String index(){
	
}
http://ip:port/a/b ----- z自动去查找/templates/index.html
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
request.setAttribute("name","yykk")
    <h1>我是首页</h1>  ${name}
</body>
</html>
+ 
freemaker

response.setContentType("content-type","text/html;charset=utf-8")
response.getWirter.println("<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>我是首页 </h1> yykk
</body>
</html>")
我是首页 yykk

02、关于注解的说明

@RequestMapping

它是路由定义的映射规则注解,这个注解包含了:http协议中所有的请求都可以访问。比如:

 GET,
 POST,
 PUT,
 DELETE,
 HEAD,
 PATCH,
 OPTIONS,
 TRACE;

以上的所有请求方式都可以进入此方法。

Restful规则

它是对springmvc路由请求一种规范和约束。主要是为了让开发更加明确的知道你请求的路由方法,到底是做什么样子的功能,restful规则的提供其实就起到一个约束和明确需求功能一个作用:

查询 --- get
添加 --- put
修改 --- post
删除 --- delete
package com.lya.controller;

import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @author lyayykk
 * @title: IndexController
 * @projectName springboot-music
 * @description: TODO
 */
@Controller
public class IndexController {


    //@RequestMapping(value = "/a/c",method = RequestMethod.PUT)
    @PutMapping("/a/c")
    public String save(){
        System.out.println("添加功能");
        return "save";
    }

    //@RequestMapping(value = "/a/f",method = RequestMethod.DELETE)
    @DeleteMapping("/a/f")
    public String delete(){
        System.out.println("删除功能");
        return "save";
    }


    //@RequestMapping(value = "/a/d",method = RequestMethod.POST)
    @PostMapping("/a/d")
    public String update(){
        System.out.println("更新功能");
        return "save";
    }

    // 定义的方法,路由方法,这个方法作用访问服务器资源:
    // 资源分为两种:
    // 1: 磁盘文件资源 规则就是必须放在:/resources/templates/index.html
    // 2: 返回服务内存数据资源
    // 底层:两者都是通过io流进行返回:response.getWriter进行返回  response是一个输出流OutPutStream
    // 遵循的协议是:http协议,访问的时候自然:http://ip:port/路径(路由)
    //@GetMapping("/a/b")
    //@RequestMapping(value = "/a/b",method = RequestMethod.GET)
    @GetMapping("/a/b")
    public String index(){
        System.out.println("查询功能");
        return "index";
    }

}

02、参数注入

bean 单参数,多参数,list,数组,map ,混合

a/b",method = RequestMethod.GET)
@GetMapping("/a/b")
public String index(){
System.out.println(“查询功能”);
return “index”;
}

}






## 02、参数注入

bean 单参数,多参数,list,数组,map ,混合







































  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 10:55:44  更:2021-12-10 10:57:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:52:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码