SpringBoot管理系统准备工作
-
先去bootstrap PHP免费模板找一个自己喜欢的模板下载好后就开始准备导入资源
-
项目结构
-
我们一般把网页放在templates包下其余的一些css和js以及一些其它资源呢就放在static包下(上面的资源呢是我自己下载的你们可以去bootstrap下载里面模板很多而且都是免费的,而且也都比较好看,当然了也可以自己去写)
准备工作
- 项目结构
- 模拟数据(因为我们现在还不用数据库去创建表所以我们先去模拟数据,去测试一下程序的功能是否否能运行成功)
- 把lombok导入用于我们偷懒
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
- 编写实体类pojo包下的User类和Vip类
package com.cloud.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
//用户表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String userName;
private String email;
private Integer gender; //0:女 1:男
private Vip vip;
private Date birth;
}
package com.cloud.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//会员表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Vip {
private Integer id;
private String userName;
private String email;
private Integer gender; //0:女 1:男
}
- 编写dao也可以是mapper下的UserDao和VipDao类
package com.cloud.dao;
import com.cloud.pojo.User;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
//会员dao
@Repository
public class UserDao {
//模拟数据库中的数据
private static Map<Integer,User> userMap ;
static {
HashMap<Integer, User> userHashMap=new HashMap<>();//创建一个会员表
userMap=userHashMap;
userMap.put(1,new User(1,"心悦会员"));
userMap.put(2,new User(2,"帝王会员"));
userMap.put(3,new User(3,"心愿会员"));
userMap.put(4,new User(4,"帝皇会员"));
}
//获得所有部门信息
public Collection<User> getUser(){
return userMap.values();
}
//通过id查询得到部门
public User getUser(Integer id){
return userMap.get(id);
}
}
package com.cloud.dao;
import com.cloud.pojo.User;
import com.cloud.pojo.Vip;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
//会员Dao
@Repository
public class VipDao {
//模拟数据库中的数据
private static Map<Integer, Vip> vipMap;
//会员属于什么部门
@Autowired
private UserDao userDao;
static {
vipMap=new HashMap<>();//创建一个表
vipMap.put(1,new Vip(1,"张三","125675qq@.com",1,new User(1,"心悦会员")));
vipMap.put(1,new Vip(2,"王五","125675qq@.com",1,new User(1,"心悦会员")));
vipMap.put(1,new Vip(3,"赵六","125675qq@.com",1,new User(1,"心悦会员")));
vipMap.put(1,new Vip(4,"王非","125675qq@.com",1,new User(1,"心悦会员")));
vipMap.put(1,new Vip(5,"马非","125675qq@.com",1,new User(1,"心悦会员")));
}
//主键自增!
private static Integer init=6;
//增加一个员工
public void save(Vip vip){
if (vip.getId()==null){
vip.setId(init++);
}
vip.setUser(userDao.getUser(vip.getUser().getId()));
vipMap.put(vip.getId(),vip);
}
//查询员工全部信息
public Collection<Vip>getAll(){
return vipMap.values();
}
//通过id查询员工
public Vip getVip(Integer id){
return vipMap.get(id);
}
//通过id删除一个员工
public void delete(Integer id){
vipMap.remove(id);
}
}
- 到这里呢准备工作就完成了前端页面也准备好了后端数据和增删改查也准备好了接下来呢就该把增删改查拿到前端去实现了
首页的实现
- 项目结构
- 项目结构知道以后我们开始编写config包下面的MyMvcConfig类
package com.cloud.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
//这个方法呢是重写生成的
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
registry.addViewController("/index.html").setViewName("index");
}
}
- 到这里呢如果是在bootstarp中找到模板呢可以访问了,如果是自己写的呢还需要去遵守thymeleaf语句规则
- 第一步要引入命名空间 xmlns:th=“http://www.thymeleaf.org”
- 第二步呢就是把超链接前面要加上th
<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>后台登录-L-admin2.0</title>
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!--这个呢就是一种超链接书写的一个规则-->
<link rel="stylesheet" th:href=${/"css/font.css"}>
<link rel="stylesheet" href="css/xadmin.css">
<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script src="lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="js/xadmin.js"></script>
</head>
<body>
<h1>lalal</h1>
</body>
</html>
- 首页配置的注意点:所有页面的静态资源呢都需要使用thymeleaf接管:@{}
到这里呢首页就实现了接下来呢就要去实现一个网站的国际化
项目国际化
- 一定要保证你的文本编码为UTF-8这样在你写的时候才不会出现乱码问题
- 首页配置:
-
- 注意点所有页面的静态资源都需要thymeleaf接管;
-
- url:@{}
项目结构
- 配置
-
- 把文件绑定到你写的位置
-
- 写好和配置好地址以后下一步就要去前端页面去更改
-
- 去做一个链接
-
- 去重写方法
-
- 把写好的类放到组件中让他生效
//自定义国际化组件
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
- 页面国际化:
-
- 我们需要配置i18n文件
-
- 我们如果需要在项目中进行按钮的自动转换,我们需要自定义一个组件LocaleResolver
-
- 记得将我们自己写的组件配置到spring容器@Bean
-
- #{}