# 软件开发与管理 - spring **Repository Path**: qinling1214/web-framework-spring ## Basic Information - **Project Name**: 软件开发与管理 - spring - **Description**: 基于Spring的Web开发 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 446 - **Created**: 2021-03-31 - **Last Updated**: 2021-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发与管理 - spring #### 介绍 基于Spring的Web开发 ## 5.基于spring的用户登录验证 持久层 (UserDao.java) 业务层 (UserService.java) 单元测试 (UserServiceTest.java) 控制器层(UserController.java) 展现层(login.jsp,main.jsp) 创建mevean项目,添加依赖及配置文件,对spring框架进行配置,完成用户登录验证 ## 6.实现IOC 构造函数注入 属性注入 ## 7.装配bean 属性注入装配bean; 构造函数注入装配bean ## 8.反射 通过java反射机制实现模拟ApplicationContext的功能 ## 9.AOP 新增LogAop类 在pom文件中把依赖引入 ,使用注解进行aspectj操作,在applicationContext中打开aspectj注解 在注解中定义切点,增强,切面,切点为inertUser和UpdatelogInfo方法,增强方法为afterReturning,实现登录和注册的日志功能 ## 10.事务 1. 使用注解配置事务 2. 验证发生异常时的事务回滚 在applicationContext中开启事务注解 ,事务的传播方法:propagation = Propagation.REQUIRED,在inertUser,inertLoginlog,logAop,UserService中开启事务 ## 12.Spring SpEL 导入SpEL的依赖,对IOC实现依赖注入 ## 13.缓冲技术 1. 用户连接输入3次错误密码,锁定用户3分钟 1. 使用Ehcache缓冲来实现功能 ,需要在pom中加入缓冲依赖 ,在resource中配置缓存文件,usercache用于统计密码错误次数,userTimes3用于判断用户密码错误次数大于3,进行锁定 。在用户登录的时候,判断useTimes3中是否存在该用户,有说明需要锁定3分钟,没有,判断是否登录成功,成功,把usercache中该用户记录删除,失败,把usercache中该用户的出错次数+1,同时判断次数是否大于等于3,如果是则把这个用户加入到userTimes3缓存中 ## 14.任务调度 每天凌晨1点,统计每个用户的全部登陆次数,包括成功次数和失败次数,写入数据库的统计表中 1. 新创建login_count表,存的是id,user_id,login_count 2. 采用quartz任务调度来完成任务,采用注解的形式,在spring配置文件中开启注解 3. 任务是LoginCountDao类中的insertLoginCount方法,执行删除统计表,然后插入统计信息 4. 在insertLoginCount添加@Scheduled(cron="0 0 1 ? * *"),表示每天1点执行这个任务