优效学院 基于微服务的秒杀项目实战 Spring Boot 2.0基础篇01
1. 介绍
主要解决的是在微服务的架构下简化配置(有快速配置)、前后端分离、快速开发
优点:
提供了快速启动入门
开箱即用、提供默认配置
内嵌容器化web项目
没有冗余代码生成和xml配置要求
2.运行Demo
访问http://start.spring.io/
生成下载demo.zip
Maven本地源配置
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
Pom.xml
必须要继承的parnet
Pom.xml第一行报错
进入本地库
for /r %i in (*.lastUpdated) do del %i
然后update
缺少或包错误
删掉 重新update
找不到主类
所有错误都解决后
Jar方式运行 首先得有这个jar包
先clean package 生成jar文件,然后再run main方法
找不到jdk
把jre的路径换成jdk的
启动后自动停止
sts
下载http://spring.io/tools
或者在eclipse上自己安装插件 spring tools
简单使用
修改banner
在resources目录下新建banner.txt
http://www.network-science.de/ascii/ 英文
https://www.degraeve.com/img2txt.php 图片
application.properties
把所有的配置全放在这个文件里,方便统一管理,maven也可以做到
修改tomcat端口
server.port=90
修改项目路径
server.servlet.context-path=/demo
多个入口main方法,打包之后找不到入库类
org.springframework.boot
spring-boot-maven-plugin
com.yxxy.MyApp
在Spring Boot中多个模块使用对应的配置文件
https://blog.csdn.net/cw_hello1/article/details/79639448
HelloWorld
RestController
RestController = @Controller+@ResponseBody
一个效果
@RestController
public class MyAppController {
@RequestMapping("/")
public Map index() {
Map map = new HashMap<>();
map.put("aaa", "bbb");
map.put("aaa", "bbb");
map.put("aaa", "bbb");
map.put("aaa", "bbb");
return map;
}
使用thymeleaf模板引擎
Pom.xml引用
org.springframework.boot
spring-boot-starter-thymeleaf
Controller代码
@Controller
public class IndexController {
@RequestMapping("/")
public String index(ModelMap map) {
// 加入一个属性,用来在模板中读取
map.addAttribute("msg", "nihao~");
return模板文件的名称,对应src/main/resources/templates/index.html
return "index";
}
模板文件代码
hi!
稍微复杂的restful api应用
UserRestfulController
@RequestMapping("/")
@RestController
public class UserRestfulController {
static Map users = Collections.synchronizedMap(newHashMap());
@RequestMapping(value="/User",method=RequestMethod.GET)
public List getUserList(){
ArrayList list = new ArrayList<>(users.values());
return list;
}
@RequestMapping(value="User",method=RequestMethod.POST)
public String addUser(@ModelAttribute User user) {
users.put(user.getId(), user);
return "addUser Success";
}
}
User
public class User {
private Long id;
private String loginName;
private String password;
private String nickName;
注入Service
UserRestfulController
@Autowired
private UserService userSrv;
@RequestMapping(value="/User",method=RequestMethod.GET)
public List getUserList(){
return userSrv.getUserList();
}
@RequestMapping(value="User",method=RequestMethod.POST)
public String addUser(@ModelAttribute User user) {
String msg = userSrv.addUser(user);
return msg;
}
UserService
@Service
public class UserService {
static Map users = Collections.synchronizedMap(newHashMap());
public List getUserList() {
ArrayList list = new ArrayList<>(users.values());
return list;
}
public String addUser(User user) {
users.put(user.getId(), user);
return "addUser Success";
}
}
前端模板显示
User list
NAME
loginName
nickName
id
loginName
nickName
作者:尚学先生
链接:https://www.jianshu.com/p/8bf8d3ddf77d
共同学习,写下你的评论
评论加载中...
作者其他优质文章