# 软件开发与管理 - spring **Repository Path**: ylbstring/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-04 - **Last Updated**: 2021-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发与管理 - spring #### 介绍 基于Spring的Web开发 #### 软件架构 软件架构说明 #### 安装教程 1. clone基础项目 2. 在项目名上点击右键选择Add Framework Support 添加相应的的Spring组件与Web组件 3. 进行相关配置,比如说导包呀,服务器之类的配置 #### 使用说明 1. fork我的工程到你的IDEA中 2. 直接配置 3. 然后使用 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 作业内容 ###### 1. 之前4个作业的全部内容已经部署到此目录下 ###### 2. 第五次作业 基于Spring的用户登录验证完成 + 持久层 UserDao.java 与此接口的UserDaoImpl.java完成 + 业务层 UserService.java 与此接口对应的实现类UserServiceImpl.java完成 + 单元测试 使用Junit4完成了各模块的测试类 + 控制器 UserController 完成,名称为UserServlet. + 展现层 login.jsp ,main.jsp 完成 ###### 3.第六次作业 实现IOC 通过一个java类为城门叩问的场景进行编剧 1. IOC为控制反转,实现对象之间解耦,那么此程序需要的是以下几个类 2. 《墨攻》这部剧(MoAttack.class):这是一个实体类,目的是为了实现城门叩问这个场景 3. 墨攻这部剧有一个主角:叫墨者革离(GeLi):这是一个接口,里面有一个方法叫responseAsk,用于完成题目情景, 4. 墨攻这部剧需要一个明星扮演(LiuDeHua):其实不止刘德华,马德华,杨子文都行,所以这个实体类去实现GeLi这个接口,并且实现他的方法 ###### 4.第七次作业 装备Bean 这里将Director中的Geli扮演者通过set方法注入的方式将LiuDeHua注入了 ###### 5.第八次作业 反射 使用反射方法模拟Spring容器的功能(ApplicationContext)解析作业7中的XML配置文件,实现依赖注入,完成任务功能 1. 要想做到和spring一样的容器配置,需要一个ClassPathXmlApplicationContext文件来实现和spring一样的效果 也就是实现 ``` MyClassPathXmlApplicationContext context = new MyClassPathXmlApplicationContext("moattackplay.xml"); MoAttack moAttack = (MoAttack) context.getBean("moAttack"); moAttack.cityGateAsk(); ``` 所以我们建一个类叫做MyClassPathXMLApplicationContext,这个类通过构造器的方式传入要解析的xml文件,而且还有一个getBean方法获取所需要的对象 2. 通过反射的方式解析xml文件中每一个 以及他们的属性 以及等标签,然后创建对应的对象,最后将对象保存至spring容器。 ###### 6.第九次作业 利用AOP完成日志功能 1. 将工程改为ssm框架,全新模块在homework里面 2. 利用AOP的ASPECTJ完成在登陆前进行日志的输出以及存入数据库,具体步骤有如下几步: 1). 在spring配置文件applicationContext.xml中配置如下信息 ```java 。 2). 编写StudentAspect,需要在类上加入注解@Aspect 利用环绕通知在登陆方法执行之前加入日志,并且存储在数据库中 ![img.png](img.png) ###### 7.第十次作业 事务 1. 实现了基于注解的事务功能,在用户登陆的业务逻辑中,登陆失败,将不再将日志记录存入数据库,完成回滚,并且在注册时业务逻辑中,验证异常将会事务回滚 2. 实现步骤如下: 1). 在spring配置文件applicationContext.xml中配置事务管理器,并且开启事务 ```java · 2).在需要事务的方法上加上 @Transactional注解即可完成,至于其属性,用默认即可