springboot项目员工管理系统

1.找一个免费的前端模板bootstarp

1.1导入静态资源

在这里插入图片描述

1.2首页配置

在已经声明的自己扩展的springmvc中,通过addViewControllers方法的添加

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
        registry.addViewController("/index.html").setViewName("index");
        registry.addViewController("/main.html").setViewName("dashboard");
    }
}

1.3首先我们的静态资源无法生效,所有页面的静态资源需要使用thymeleaf接管@{}

首先需要添加
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<link href = "xxx/xxx.xxx" rel="styleheet">
			↓	↓	↓	↓	
<link th:href = "@{xxx/xxx.xxx}" rel="styleheet">
包括 src中 需要编程 th:src="@{xxx/xxx.xxx}"

同时注意 需要在properties或者yml中添加,关闭模板引擎的缓存
spring:
thymeleaf:
cache: false

2.伪造数据库

2.1创建一个pojo

首先我们不用lombok插件,简便但缺少了可读性
创建一个pojo
里面放入我们需要的对象

2.2通过map伪造数据,dao中获取

以EmployeeDao 为例
首先获取其他dao中的属性
声明一个数据集合,赋值,并且添加增删改查的操作,
增是map.put(k,v)
删是map的remove通过id
查询一个员工是 map.get(id)
查是通过values()所有map集合返回

@Repository
public class EmployeeDao {
    //模拟数据库中员工表的数据
    static private Map<Integer, Employee> employees;
    @Autowired
    private DepartmentDao departmentDao;

    static {
        employees = new HashMap<>();//创建一个员工表
        employees.put(1, new Employee(1, "zsr", "1234@qq.com", 1, new Department(1, "技术部"), new Date()));
        employees.put(2, new Employee(2, "lyr", "1345@qq.com", 1, new Department(2, "市场部"), new Date()));
        employees.put(3, new Employee(3, "gcc", "5665@qq.com", 0, new Department(3, "调研部"), new Date()));
        employees.put(4, new Employee(4, "zyx", "7688@qq.com", 1, new Department(4, "后勤部"), new Date()));
        employees.put(5, new Employee(5, "zch", "8089@qq.com", 1, new Department(5, "运营部"), new Date()));
    }

    //主键自增
    private static Integer initialID = 6;

    //增加一个员工
    public void addEmployee(Employee employee) {
        if (employee.getId() == null)
            employee.setId(initialID++);
        employee.setDepartment(departmentDao.getDepartmentById(employee.getDepartment().getId()));
        employees.put(employee.getId(), employee);
    }

    //查询全部员工信息
    public Collection<Employee> getAllEmployees() {
        return employees.values();
    }

    //通过id查询员工
    public Employee getEmployeeByID(Integer id) {
        return employees.get(id);
    }

    //通过id删除员工
    public void deleteEmployeeByID(int id) {
        employees.remove(id);
    }
}

3.页面国际化

3.1确保properties的编码为UTF-8

3.2i18n,写入properties文件中英文

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.yml中配置找到我们的配置文件真实位置

spring:
messages:
basename: i18n.login

4.页面中需要的格式 消息表达式#{}

在这里插入图片描述
使用的是#{}
变量需要使用${}

5.国际化解析器在config中,学着auto自动装配中的照猫画虎

在这里插入图片描述

public class MyLocaleResolver implements LocaleResolver {
	//解析地区器
    @Override
    public Locale resolveLocale(HttpServletRequest request) {
        //获取请求中的国际化参数
        String language = request.getParameter("l");
        //默认的地区
        Locale locale = Locale.getDefault();
        //如果请求的链接参数不为空,携带了国际化参数
        if (!StringUtils.isEmpty(language)) {
            String[] split = language.split("_");//zh_CN(语言_地区)
            locale = new Locale(split[0], split[1]);
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
    }
}

6.将自己的组件配置到spring容器中

在这里插入图片描述

4.实现细节,并没有什么难度所以省略

4.1用户登录

4.2拦截器

//处理器拦截器
public class LoginHandlerInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //用户登录成功后,应该有自己的session
        Object session = request.getSession().getAttribute("LoginUser");
        if (session == null) {
            request.setAttribute("msg", "权限不够,请先登录");
            request.getRequestDispatcher("/index.html").forward(request, response);
            return false;
        } else {
            return true;
        }
    }
}

在这里插入图片描述

4.3404处理等

4.4CRUD

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小小狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值