# 软件开发与管理 - spring **Repository Path**: lang-haixia/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**: 444 - **Created**: 2021-03-30 - **Last Updated**: 2021-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发与管理 - spring #### 介绍 基于Spring的Web开发 #### 环境准备 1. 创建maven项目,修改pom文件 2. 连接MySQL数据库 3. 配置Tomcat #### 代码实现 1.entity层 1.1 实现user.java,里面包含了一些属性以及set、get方法 1.2 实现login_log.java,里面包含了日志对象以及它的set、get方法 2. dao层 2.1 userDao.java: 包含两个方法: (1)getMatchCount:根据用户名和密码获取匹配的用户数,其中1表示用户名和密码正确,0表示用户名和密码不正确 (2)findUserByUserName:根据用户名获取user对象 2.2 LoginLogDao.java:负责记录用户的登录日志 2.3 在spring.xml文件中装配dao 3. service层 3.1 UserService.java: 包含三个方法: (1)hasMatchUser:用于检查用户名或密码的正确性 (2)findUserByUserName:以用户名为条件加载user对象 (3)loginSuccess:用户登录成功后调用,更新日志信息 3.2 在spring中装配service 4. 使用单元测试测试上述工作是否正确,结果正确 5. controller层 5.1 LoginController.java:负责处理登录请求,完成登录业务,并根据登录成功与否跳转到main页面或login页面。 5.2 LoginCommand.java:包括用户名和密码两个属性,与请求的用户名和密码参数保持一样 6.jsp页面 login.jsp:登录页 main.jsp:登录成功后跳转的页面 ###IOC的注入方式以及bean的装配 1. 构造器注入 2. 属性注入 3. 装配bean,配置xml文件 ####第八次作业:通过反射机制模拟实现spring容器的功能,解析xml文件,实现依赖注入 1.通过带参构造器得到对应的配置文件 2.通过dom4j解析配置文件(xml文件) 3.通过反射得到对应的实例化对象,放置在map对象 4.通过id属性值获取指定的实例化对象 ####第九次作业:使用spring AOP实现日志功能 1. 完成注册页面及其功能 2. 完成Aop编写及其配置 3. 记录用户的注册、登录操作,写入日志数据库 ####第十次作业:在用户注册的业务逻辑中使用事务: 1. 使用注解配置事务:在spring.xml中配置事务管理器,使用注解方式声明事务,在userService.java中的addUser()和loginSuccess()方法中添加注解@Transactional(propagation = Propagation.REQUIRED) 2. 验证发生异常时的事务回滚:在userService.java中的addUser()和loginSuccess()方法中使用int i = 1/0,除0错误验证事务是否生效,如果生效的话,登录注册信息不会添加到login_log日志表中。验证生效 ####第十二次作业:使用SpEL实现IOC依赖注入 1. 导入spel依赖文件 2. 新建spring04.xml文件:实现依赖注入,在相应的注入方式中,使用#{geLi}引用bean对象 3. 新建test02.java进行测试,将配置文件改为spring04.xml