網盤download:【MCA】Java互聯網高級架構師【馬士兵】提娶嗎:xb2kphp
SpringBoot主要解決的是在微服務的架構下簡化配置(有快速配置)、先後端分離、快速開發html
優勢:前端
建立SpringBoot項目的幾種方式:web
訪問start.spring.io/ 進入Spring項目Initializrspring
生成下載demo.zip後端
運行成功提示信息:api
若是運行報錯,請參照常見問題。tomcat
在resources目錄下新建banner.txtrestful
[ 英文](www.network-science.de/ascii/ )markdown
[圖片](www.degraeve.com/img2txt.php )
菜單欄中
Help -> EclipseMarketplace
搜索Theme
傻瓜式安裝這個,安裝完成會提示重啓,跟隨指引選擇喜歡的風格。
把全部的配置全放在這個文件裏,方便統一管理,maven也能夠作到
server.port=90
server.servlet.context-path=/demo V(cmL46679910)
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.mashibing.MyApp</mainClass>
</configuration>
</plugin>
</plugins>**V**(**cmL46679910**)
</build>
複製代碼
RestController = @Controller+@ResponseBody
一個效果V(cmL46679910)
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;
}
複製代碼
org.springframework.boot
spring-boot-starter-thymeleaf
public class IndexController {
@RequestMapping("/")
**public** String index(ModelMap map) {
// 加入一個屬性,用來在模板中讀取
map.addAttribute("msg", "nihao~");
return模板文件的名稱,對應src/main/resources/templates/index.html
**return** "index";
}
複製代碼
<h1 th:text="${msg}">hi!</h1>
V(cmL46679910)
@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";
}
}
**public** **class** User {
**private** Long id;
**private** String loginName;
**private** String password;
**private** String nickName;
複製代碼
private Long id;
private String loginName;
private String password;
private String nickName;
複製代碼
@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;
}
複製代碼
**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";
}
}
複製代碼
V(cmL46679910)
<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>
複製代碼