Springboot+SpringMVC

(一)Java后台开发方向

第一阶段:Java语言(基础语法、面向对象、Java API)

第二阶段:Java技术(JDBC技术(访问数据库)、Servlet技术(控制层)

第三阶段:Java框架(Spring框架、SpringMVC框架、Mybatis框架)

第四阶段:Java案例(添加、修改、删除、查询、搜索、分页)

(二)Java项目分层结构

视图层控制层业务层数据层企业信息系统层
ViewControllerServiceDAOEIS
springbootspringbootspringboot
Tomcat服务器Tomcat服务器Tomcat服务器Mysql服务器
JavaJavaJavaSQL
ServletJavaJDBCSQL
SpringMVCMybatis
SpringSpringSpring

(三)搭建SpringBoot工程

(1)安装和配置Maven

maven介绍:maven是**包管理工具、帮助我们下载资源的jar包**。
配置一:本地库的路径。

<localRepository>d:/maven/mylib</localRepository>

配置二:远程库的路径。

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>       
</mirror>
(2)在Eclipse中配置Maven

配置一:maven路径
配置二:settings.xml路径
配置三:maven视图

(3)创建SpringBoot工程(注意:连网)

name工程名 springboot01
group组名 com.cuiyudong
package包名 com.cuiyudong
资源 spring web(SpringMVC框架)
pom.xml <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>

(4)SpringMVC框架

SpringMVC框架:是基于【MVC原理】的【控制层框架】
说明一:SpringMVC框架就是Spring Web模块。
说明二:SpringMVC框架是Spring框架其中一个子模块。

说明三:MVC原理
M-Model 模型层(指的是后端往前端发的数据)
V-View 视图层
C-Controller 控制层

说明四:SpringMVC框架是控制层的框架、用于和前台进行交互

说明五:SpringMVC框架是对Servlet技术的封装

使用SpringMVC框架开发一个控制器的步骤:

(4.1)创建包com.cuiyudong.controller
(4.2)创建控制器Action01
(4.3)编写控制器中的方法m01

package com.zhaoyang.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zhaoyang.bean.Person;

@RestController
@RequestMapping("Action01")【括号里面的名字相当于“/Action01”】
public class Action01 {

	@RequestMapping("m1")
	public String m1(String name, int age) {
		System.out.println(name);
		System.out.println(age);
		return "你好";
	}
	
	@RequestMapping("m2")
	public boolean m2(Person person) {
		System.out.println(person);
		return true;
	}
	
	@RequestMapping("m3")
	public String m3() {
		return "张三";
	}
	
	@RequestMapping("m4")
	public Person m4() {
		return new Person("张三", 30);
	}
	
	@RequestMapping("m5")
	public List<Person> m5() {
		List<Person> list = new ArrayList<Person>();
		list.add(new Person("张三", 30));
		list.add(new Person("李四", 40));
		return list;
	}
	
	@RequestMapping("m6")
	public Map<String, Object> m6() {
		
		List<Person> list = new ArrayList<Person>();
		list.add(new Person("张三", 30));
		list.add(new Person("李四", 40));
		
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("key1", 100);
		map.put("key2", "成功");
		map.put("key3", new Person("王五", 50));
		map.put("key4", list);
		return map;
	}

(4.4)控制器【类的上方】添加【控制器注解】@RestController

//这一步相当于
<servlet>
<servlet-name>z</servlet-name>
<servlet-class>com.cuiyudong.control.LoginAction</servlet-class>
</servlet>

(4.5)【类的上方】和【方法的上方】添加【请求映射注解】@RequestMapping(“Action01”)【类上面括号里面的名字相当于“/Action01”】

//这一步相当于
<servlet-mapping>
<servlet-name>z</servlet-name>
<url-pattern>/g</url-pattern>
</servlet-mapping>

(4.6)启动SpringBoot工程的服务
(4.7)访问控制器中的方法http://127.0.0.1:8080/a/b
(4.8)停止服务
(4.9)配置tomcat端口

重要专题一:控制器获取前台数据的方式

方式一:通过方法的多个参数来获取前台数据(适用于参数比较少的)
注意:个数、名字都必须和前台一致
http://127.0.0.1:8081/Action01/m1?name=abc&age=22

方式二:通过方法的参数封装类来获取前台数据(适用于参数多的)
需要:写一个封装类(例如Person类),这个时候传过来的就是一个人的信息而不是两个数据
http://127.0.0.1:8081/Action01/m2?name=abc&age=22

@RequestMapping("m2")
public boolean m2(Person person) {
	System.out.println(person);
	return true;
}

重要专题二:控制器返回发送到前台的数据的类型(SpringMvc中函数的返回值是什么?)

注意:SpringMVC框架会***把控制器返回的 Java对象自动转换为JSON数据***发往前端。

了解:JSON是前端JavaScript语言的对象表示方法。

第一种:字符串

Java “张三”
JSON 张三

@RequestMapping("m3")
	public String m3() {
		return "张三";
	}
第二种:一个对象

Java new Person(“张三”, 30)
JSON {“name”:“张三”,“age”:30}

@RequestMapping("m4")
	public Person m4() {
		return new Person("张三", 30);
	}
第三种:List集合

Java List list
JSON [{“name”:“张三”,“age”:30},{“name”:“李四”,“age”:40}]

@RequestMapping("m5")
public List<Person> m5() {
List<Person> list = new ArrayList<Person>();
list.add(new Person("张三", 30));
list.add(new Person("李四", 40));
return list;
}
第四种:Map集合

Java Map<String, Object> map
JSON {“key1”:100,“key2”:“成功”,“key3”:{“name”:“王五”,“age”:50},“key4”:[{“name”:“张三”,“age”:30},{“name”:“李四”,“age”:40}]}

@RequestMapping("m6")
	public Map<String, Object> m6() {
		List<Person> list = new ArrayList<Person>();
		list.add(new Person("张三", 30));
		list.add(new Person("李四", 40));
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("key1", 100);
		map.put("key2", "成功");
		map.put("key3", new Person("王五", 50));
		map.put("key4", list);
		return map;
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YD_1989

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值