# 软件开发与管理 - spring **Repository Path**: freedom-yuying/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-04-11 - **Last Updated**: 2021-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发与管理 - spring ## 介绍 基于Spring的Web开发 ## 第五次作业 - 实现利用spring完成用户登录的案例 #### 项目文件说明 - 实体类 - LoginLog:登录日志类 - User:用户实体类 - LoginCommand::登录过程中传输的用户实体 - Dao层 - LoginLogDao:每当有用户登录,对登录日志的数据库进行插入操作 - UserDao:根据用户名查询用户;查询与用户名,密码匹配的人数个数;更新登录日志 - Controller层 - LoginController:判断用户的登录操作 - Service层 - UserService:登录成功后,实现对用户数据的更新操作;返回匹配用户个数;返回查找的用户姓名 - Test - UserServiceTest:对service的三种方法进行测试 - JSP - login.jsp 登录页面 - main.jsp 登录成功页面 ## 第六、七次作业 - 第六次:使用3种注入方法完成墨者革离的案例 - 第七次:使用springIOC容器完成作业6 #### 项目地址 - https://gitee.com/freedom-yuying/web-framework-spring/tree/master/src/main/java/springIOC #### 项目目录 - bean实体类 - GeLi - LiuDeHua - Interface接口 - ActoreArrangable 安排演员 - scene - Director 导演 - MoAttack 剧本 - test - test 测试类 使用作业七中装配bean的方法 `ApplicationContext ac=new ClassPathXmlApplicationContext("springIOC.xml");` #### 测试结果 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0413/111907_8cb1ed24_8786824.png "屏幕截图.png") ## 第八次作业 - 第八次:使用反射方法模拟spring容器的功能(ApplicationContext),解析XML配置文件,实现依赖注入,完成任务功能。 #### 项目地址 - https://gitee.com/freedom-yuying/web-framework-spring/tree/master/src/main/java/springIOC #### 项目目录(修改部分) - Interface接口 - MyFactory 工厂接口定义 - scene - MoAttack 中添加setGeLi(LiuDeHua geLi) - spring - Mybean 中添加property子节点,使用list集合存储 - MyClassPathXmlApplicationContext spring的实现,添加setproperty方法 - PropertyDefinition 对于property实体定义 - test - test 采用springIOC的test方法 - pom.xml - 添加配置 ` jaxen jaxen 1.2.0 ` ## 第九次作业 - 第九次:使用AOP实现日志功能。 #### 项目地址 - https://gitee.com/freedom-yuying/web-framework-spring/tree/master/src/main/java/springIOC #### 项目目录(修改部分) - annotation 注解包 - LogAnnotation 自定义日志注解 - moduleName 模块名 - option 操作内容 - aspect 切片包 - SysLogAspect 实现获取注释,将日志信息添加到数据库的功能 - bean -AopLog 日志类 - Controller - LoginController - 增加insertUser方法 - 增加insertPage方法 - Dao - AopLogDao 插入日志 - springMVC.xml - 添加配置 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0523/213531_8dd7f6ff_8786824.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0523/213701_88b9708d_8786824.png "屏幕截图.png") - web.xml - 添加配置 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0523/213905_0c104b50_8786824.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0523/213937_ce544266_8786824.png "屏幕截图.png") ## 第十次作业 - 第十次:在用户注册的业务逻辑中使用事务,使用注解配置事务,验证发生异常时的事务回滚。 #### 项目地址 - https://gitee.com/freedom-yuying/web-framework-spring/tree/master/src/main #### 项目目录(修改部分) - service 层 - UserService - InsertUser:在该方法中加入注解,如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。 `@Transactional(rollbackFor = LoginException.class)` - try:抛出异常 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/204354_14503093_8786824.png "屏幕截图.png") - resources 资源文件 - applicationContext.xml:对事物进行配置 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/204648_2e12d1b8_8786824.png "屏幕截图.png") - 运行结果 - 发生异常的三种情况 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/204850_0c680131_8786824.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/204859_cc62faee_8786824.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/204908_7f4b0b50_8786824.png "屏幕截图.png") - 事务回滚 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/205002_4aafa278_8786824.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/205011_0b9fd0a8_8786824.png "屏幕截图.png") ## 第十二次作业 - 第十二次:在IOC作业中,使用Spring SPEL进行依赖注入 #### 项目地址 - https://gitee.com/freedom-yuying/web-framework-spring/tree/master/src/main #### 项目目录(修改部分) - springIOC.xml ![输入图片说明](https://images.gitee.com/uploads/images/2021/0618/094225_6cc76655_8786824.png "屏幕截图.png") - 运行结果 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0618/094300_296a95c4_8786824.png "屏幕截图.png") #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request