Springboot01

1、

  

  

 2、Dependencies有jar包爆红处理方法

  • 先clean一下然后package下载Jar包,下载完成后,删除pom.xml中的对应jar包依赖,再clean一下,然后重新添加jar包依赖导入完成。

3、

  

 下面一个@RequesstMapping继承于上面一个。

  POJO:是有属性值的实体对象类

*****注:Thymeleaf有个大坑,pom中引入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>           

properties文件中还需要配置以下内容才能访问到

# 项目的启动服务端口号
server.port=80
# 项目的起始路径
spring.thymeleaf.prefix= classpath:/templates/
spring.thymeleaf.mode=LEGACYHTML5  # 不进未关闭标签检查,需配合nekohtml使用
spring.thymeleaf.cache=false

 4、springboot + thymeleaf + html

  1 package com.mashibing.springboot03.controller;
  2 
  3 import com.mashibing.springboot03.domain.City;
  4 import com.mashibing.springboot03.service.CityService;
  5 import org.springframework.beans.factory.annotation.Autowired;
  6 import org.springframework.stereotype.Controller;
  7 
  8 import org.springframework.ui.Model;
  9 
 10 import org.springframework.web.bind.annotation.RequestMapping;
 11 import org.springframework.web.bind.annotation.RequestParam;
 12 
 13 import java.util.List;
 14 
 15 
 16 
 17 @Controller
 18 @RequestMapping("/user")
 19 public class MainController {
 20 
 21     @Autowired
 22     CityService cityService;
 23     @RequestMapping("/list")
 24     public String list(Model map){
 25         List<City> list = cityService.findAll();
 26 
 27         map.addAttribute("list",list);
 28         return "list";
 29     }
 30 
 31     @RequestMapping("/add")
 32     public String add(@RequestParam("id") Integer id,@RequestParam("name") String name,Model map){
 33         System.out.println("===============add============");
 34         String success = cityService.add(id,name);
 35         System.out.println(success);
 36         map.addAttribute("success",success);
 37         return "add";
 38     }
 39 
 40     @RequestMapping("/addPage")
 41     public String addPage(){
 42         return "add";
 43     }
 44 }
 45 
 46 ##########################
 47 package com.mashibing.springboot03.service;
 48 
 49 import com.mashibing.springboot03.dao.CityDao;
 50 import com.mashibing.springboot03.domain.City;
 51 import org.springframework.beans.factory.annotation.Autowired;
 52 import org.springframework.stereotype.Service;
 53 
 54 import java.util.List;
 55 
 56 @Service
 57 public class CityService {
 58 
 59     @Autowired
 60     CityDao cityDao;
 61 
 62     public List<City> findAll() {
 63 
 64         return cityDao.findAll();
 65     }
 66 
 67     public String add(Integer id, String name) {
 68 
 69         City city = new City();
 70         city.setId(id);
 71         city.setName(name);
 72 
 73         try {
 74             cityDao.save(city);
 75             return "保存成功";
 76         } catch (Exception e) {
 77             return "保存失败";
 78         }
 79 
 80     }
 81 }
 82 
 83 #################
 84 package com.mashibing.springboot03.dao;
 85 
 86 import com.mashibing.springboot03.domain.City;
 87 import org.springframework.stereotype.Repository;
 88 
 89 import java.util.*;
 90 
 91 @Repository
 92 public class CityDao {
 93 
 94     /**
 95      * 在内存里虚拟出来一份数据
 96      *      List
 97      *      Map
 98      *需要保证线程安全
 99      *
100      *
101      * @return
102      */
103 
104     //把Map变成同步Map
105     static Map<Integer,City> dataMap = Collections.synchronizedMap(new HashMap<Integer,City>());
106 
107     public List<City> findAll() {
108 
109         return new ArrayList<>(dataMap.values());
110     }
111 
112     public void save(City city) throws Exception {
113         City data = dataMap.get(city.getId());
114         if (data != null){
115             throw new Exception("数据已经存在");
116         } else {
117             dataMap.put(city.getId(),city);
118             System.out.println("数据已经添加");
119         }
120 
121     }
122 }
123 #########################
124 package com.mashibing.springboot03.domain;
125 
126 public class City {
127 
128     private Integer id;
129 
130     private String name;
131 
132     public Integer getId() {
133         return id;
134     }
135 
136     public void setId(Integer id) {
137         this.id = id;
138     }
139 
140     public String getName() {
141         return name;
142     }
143 
144     public void setName(String name) {
145         this.name = name;
146     }
147 }
148 ###################
149 add.html
150 <html>
151 
152 City Add
153 <hr>
154 
155 <h1 th:text="${success}"></h1>
156 <hr>
157 <!--这里的add就是表单提交到controller中/add-->
158 <form action="add" method="post">
159     id : <input name="id" type="text">
160     <br/>
161     name: <input name="name" type="text">
162     <br/>
163     <input type="submit" value="提交">
164 </form>
165 
166 </html>
167 
168 ##########################
169 list.html
170 <html>
171 
172 <body>
173 City list
174 <hr>
175 
176 <table>
177     <tr>
178         <th>ID</th>
179         <th>NAME</th>
180     </tr>
181 
182     <tr th:each="city : ${list}">
183         <!--去访问到实体类里面的getId方法-->
184         <td th:text="${city.id}"></td>
185         <td th:text="${city.name}">/td>
186     </tr>
187 </table>
188 </body>
189 </html>
190 
191 #########################
192 # 项目的启动服务端口号
193 server.port=80
194 # 项目的起始路径
195 spring.thymeleaf.prefix= classpath:/templates/
196 spring.thymeleaf.mode=LEGACYHTML5  # 不进未关闭标签检查,需配合nekohtml使用
197 spring.thymeleaf.cache=false

5、springboot + thymeleaf + jpa

  

  1 package com.mashibing.springbootmvc01.controller;
  2 
  3 import com.mashibing.springbootmvc01.entity.City;
  4 import com.mashibing.springbootmvc01.service.CityService;
  5 import org.springframework.beans.factory.annotation.Autowired;
  6 import org.springframework.stereotype.Controller;
  7 import org.springframework.ui.Model;
  8 import org.springframework.web.bind.annotation.PathVariable;
  9 import org.springframework.web.bind.annotation.RequestMapping;
 10 
 11 import java.util.List;
 12 
 13 @Controller
 14 @RequestMapping("/city")
 15 public class MainController {
 16 
 17     @Autowired
 18     CityService cityService;
 19     @RequestMapping("list")
 20     public String list(Model map){
 21         List<City> list =  cityService.finAll();
 22         map.addAttribute("list",list);
 23         return "list";
 24     }
 25 
 26     @RequestMapping("list/{id}")
 27     public String getOne(@PathVariable("id") Integer id,Model map){
 28         City city = cityService.findOne(id);
 29         map.addAttribute("city",city);
 30         return "one";
 31     }
 32 }
 33 
 34 ########################3
 35 package com.mashibing.springbootmvc01.service;
 36 
 37 import com.mashibing.springbootmvc01.entity.City;
 38 import com.mashibing.springbootmvc01.dao.CityRepository;
 39 import org.springframework.beans.factory.annotation.Autowired;
 40 import org.springframework.stereotype.Service;
 41 
 42 import java.util.List;
 43 import java.util.Optional;
 44 
 45 @Service
 46 public class CityService {
 47 
 48 
 49     @Autowired
 50     CityRepository cityRepo;
 51     public List<City> finAll() {
 52         List<City> all = cityRepo.findAll();
 53         return all;
 54     }
 55 
 56     public City findOne(Integer id) {
 57 
 58         return cityRepo.getOne(id);
 59     }
 60 }
 61 
 62 ########################
 63 package com.mashibing.springbootmvc01.dao;
 64 
 65 import com.mashibing.springbootmvc01.entity.City;
 66 import org.springframework.data.jpa.repository.JpaRepository;
 67 import org.springframework.stereotype.Repository;
 68 
 69 /**
 70  * JpaRepository<City,Integer> 第一个表示哪个类,第二个表示id的类型
 71  */
 72 
 73 public interface CityRepository extends JpaRepository<City,Integer>{
 74 
 75 }
 76 
 77 #######################
 78 package com.mashibing.springbootmvc01.entity;
 79 
 80 import org.springframework.beans.factory.annotation.Value;
 81 
 82 import javax.persistence.*;
 83 
 84 /**
 85  * @Entity表示和数据库表关联
 86  */
 87 @Entity
 88 @Table(name="city")
 89 public class City {
 90     //@Id表示标注表里面的id,@GeneratedValue表示告诉他生成策略
 91     @Id
 92     @GeneratedValue(strategy = GenerationType.IDENTITY)
 93     private Integer id;
 94 
 95     private String name;
 96 
 97     public Integer getId() {
 98         return id;
 99     }
100 
101     public void setId(Integer id) {
102         this.id = id;
103     }
104 
105     public String getName() {
106         return name;
107     }
108 
109     public void setName(String name) {
110         this.name = name;
111     }
112 }
113 
114 ###########################
115 list.html
116 <html>
117 
118 <body>
119 City list
120 <hr>
121 
122 <table border="1">
123     <tr>
124         <th>ID</th>
125         <th>NAME</th>
126     </tr>
127     <tr th:each="city : ${list}">
128        <th th:text="${city.id}"></th>
129        <th th:text="${city.name}"></th>
130     </tr>
131 </table>
132 </body>
133 </html>
134 ###################
135 # 项目的启动服务端口号
136 server.port=80
137 # 项目的起始路径
138 spring.thymeleaf.prefix= classpath:/templates/
139 spring.thymeleaf.mode=LEGACYHTML5  # 不进未关闭标签检查,需配合nekohtml使用
140 spring.thymeleaf.cache=false
141 
142 # 数据库配置
143 spring.datasource.url=jdbc:mysql://localhost:3306/world?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
144 spring.datasource.username=root
145 spring.datasource.password=123456

 6、springboot + jsp 

  

    <!--用jsp-->
        <!--jstl-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!--jasper-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    <!--用jsp-->
  1 package com.mashibing.springbootmvc01.controller;
  2 
  3 import com.mashibing.springbootmvc01.entity.City;
  4 import com.mashibing.springbootmvc01.service.CityService;
  5 import org.springframework.beans.factory.annotation.Autowired;
  6 import org.springframework.stereotype.Controller;
  7 import org.springframework.ui.Model;
  8 import org.springframework.web.bind.annotation.PathVariable;
  9 import org.springframework.web.bind.annotation.RequestMapping;
 10 import org.springframework.web.bind.annotation.RestController;
 11 
 12 import java.util.List;
 13 
 14 @Controller
 15 @RequestMapping("/city")
 16 public class MainController {
 17 
 18     @Autowired
 19     CityService cityService;
 20     @RequestMapping("list")
 21     public String list(Model map){
 22         List<City> list =  cityService.finAll();
 23         map.addAttribute("list",list);
 24         return "list";
 25     }
 26 
 27     @RequestMapping("list/{id}")
 28     public String getOne(@PathVariable("id") Integer id,Model map){
 29         City city = cityService.findOne(id);
 30         map.addAttribute("city",city);
 31         return "list1";
 32     }
 33 }
 34 
 35 ###############################
 36 package com.mashibing.springbootmvc01.service;
 37 
 38 import com.mashibing.springbootmvc01.entity.City;
 39 import com.mashibing.springbootmvc01.dao.CityRepository;
 40 import org.springframework.beans.factory.annotation.Autowired;
 41 import org.springframework.stereotype.Service;
 42 
 43 import java.util.List;
 44 import java.util.Optional;
 45 
 46 @Service
 47 public class CityService {
 48 
 49 
 50     @Autowired
 51     CityRepository cityRepo;
 52     public List<City> finAll() {
 53         List<City> all = cityRepo.findAll();
 54         return all;
 55     }
 56 
 57     public City findOne(Integer id) {
 58 
 59         return cityRepo.getOne(id);
 60     }
 61 }
 62 
 63 ############################
 64 package com.mashibing.springbootmvc01.dao;
 65 
 66 import com.mashibing.springbootmvc01.entity.City;
 67 import org.springframework.data.jpa.repository.JpaRepository;
 68 import org.springframework.stereotype.Repository;
 69 
 70 /**
 71  * JpaRepository<City,Integer> 第一个表示哪个类,第二个表示id的类型
 72  */
 73 
 74 public interface CityRepository extends JpaRepository<City,Integer>{
 75 
 76 }
 77 
 78 ############################
 79 package com.mashibing.springbootmvc01.entity;
 80 
 81 import org.springframework.beans.factory.annotation.Value;
 82 
 83 import javax.persistence.*;
 84 
 85 /**
 86  * @Entity表示和数据库表关联
 87  */
 88 @Entity
 89 @Table(name="city")
 90 public class City {
 91     //@Id表示标注表里面的id,@GeneratedValue表示告诉他生成策略
 92     @Id
 93     @GeneratedValue(strategy = GenerationType.IDENTITY)
 94     private Integer id;
 95 
 96     private String name;
 97 
 98     public Integer getId() {
 99         return id;
100     }
101 
102     public void setId(Integer id) {
103         this.id = id;
104     }
105 
106     public String getName() {
107         return name;
108     }
109 
110     public void setName(String name) {
111         this.name = name;
112     }
113 }
114 
115 #########################
116 list.html
117 <html>
118 
119 <body>
120 City list
121 <hr>
122 
123 <table border="1">
124     <tr>
125         <th>ID</th>
126         <th>NAME</th>
127     </tr>
128     <tr th:each="city : ${list}">
129        <th th:text="${city.id}"></th>
130        <th th:text="${city.name}"></th>
131     </tr>
132 </table>
133 </body>
134 
135 </html>
136 #########################
137 list1.jsp
138 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
139 <!doctype html>
140 <html lang="en">
141 <head>
142     <meta charset="UTF-8">
143     <meta name="viewport"
144           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
145     <meta http-equiv="X-UA-Compatible" content="ie=edge">
146     <title>Document</title>
147 </head>
148 <body>
149     hi
150 </body>
151 </html>

pom.xml

    <!--用jsp-->
        <!--jstl-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!--jasper-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    <!--用jsp-->
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!doctype html>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<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>
<table>
    <tr>
        <th>id</th>
        <th>name</th>
    </tr>
    <c:forEach items="${list}" var="city">
        <tr>
            <td>${city.id}</td>
            <td>${city.name}</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>
原文地址:https://www.cnblogs.com/su-ke/p/13525776.html