java程序员基于微服务的秒杀项目实战 Spring B…
2018-07-25 13:06:10来源:博客园 阅读 ()
PS:大家有什么想要分享的内容!可以在评论下方留言!!!
?如果需要更多笔记资料,请私信小编即可!
?图文均为原创,旨在分享。
?任何建议,可直接在最底右下方"写留言即可"
?如果觉得写得不错请点击“了解更多”,每天更新原创内容!
大数据交流群:699468753
java架构交流群:123940854
了解更多
1. 介绍
主要解决的是在微服务的架构下简化配置(有快速配置)、前后端分离、快速开发
优点:
提供了快速启动入门
开箱即用、提供默认配置
内嵌容器化web项目
没有冗余代码生成和xml配置要求
2. 运行Demo
访问http://start.spring.io/
生成下载demo.zip
(1) Maven本地源配置
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
Pom.xml
必须要继承的parnet
(2) Pom.xml第一行报错
进入本地库
for /r %i in (*.lastUpdated) do del %i
然后update
(3) 缺少或包错误
删掉 重新update
(4) 找不到主类
所有错误都解决后
Jar方式运行 首先得有这个jar包
先clean package 生成jar文件,然后再run main方法
(5) 找不到jdk
把jre的路径换成jdk的
(6) 启动后自动停止
sts
下载http://spring.io/tools
或者在eclipse上自己安装插件 spring tools
3. 简单使用
(1) 修改banner
在resources目录下新建banner.txt
http://www.network-science.de/ascii/ 英文
https://www.degraeve.com/img2txt.php 图片
application.properties
把所有的配置全放在这个文件里,方便统一管理,maven也可以做到
修改tomcat端口
server.port=90
(2) 修改项目路径
server.servlet.context-path=/demo
(3) 多个入口main方法,打包之后找不到入库类
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.yxxy.MyApp</mainClass>
</configuration>
</plugin>
</plugins>
</build>
(4) 在Spring Boot中多个模块使用对应的配置文件
https://blog.csdn.net/cw_hello1/article/details/79639448
HelloWorld
(5) RestController
RestController = @Controller+@ResponseBody
一个效果
@RestController
public class MyAppController {
@RequestMapping("/")
public Map<String, String> index() {
Map<String, String> map = new HashMap<>();
map.put("aaa", "bbb");
map.put("aaa", "bbb");
map.put("aaa", "bbb");
map.put("aaa", "bbb");
return map;
}
4. 使用thymeleaf模板引擎
(1) Pom.xml引用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Controller代码
@Controller
public class IndexController {
@RequestMapping("/")
public String index(ModelMap map) {
// 加入一个属性,用来在模板中读取
map.addAttribute("msg", "nihao~");
return模板文件的名称,对应src/main/resources/templates/index.html
return "index";
}
(2) 模板文件代码
<h1 th:text="${msg}">hi!</h1>
(3) 稍微复杂的restful api应用
UserRestfulController
@RequestMapping("/")
@RestController
public class UserRestfulController {
static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long,User>());
@RequestMapping(value="/User",method=RequestMethod.GET)
public List<User> getUserList(){
ArrayList<User> 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<User> getUserList(){
return userSrv.getUserList();
}
@RequestMapping(value="User",method=RequestMethod.POST)
public String addUser(@ModelAttribute User user) {
String msg = userSrv.addUser(user);
return msg;
}
(4) UserService
@Service
public class UserService {
static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long,User>());
public List<User> getUserList() {
ArrayList<User> list = new ArrayList<>(users.values());
return list;
}
public String addUser(User user) {
users.put(user.getId(), user);
return "addUser Success";
}
}
(5) 前端模板显示
<h1>User list</h1>
<table>
<tr>
<th>NAME</th>
<th>loginName</th>
<th>nickName</th>
</tr>
<tr th:each="user : ${list}">
<td th:text="${user.id}">id</td>
<td th:text="${user.loginName}">loginName</td>
<td th:text="${user.nickName}">nickName</td>
</tr>
</table>
<p>
<a href="../home.html" th:href="@{/}">Return to home</a>
</p>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:java之高效操作文件
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash