ssm关键步骤(2)

spring:

1.pom.xml中的文件配置

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
插件
<build>
<plugins>
 <plugin>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>3.1</version>
 <configuration>
 <source>1.8</source>
 <target>1.8</target>
 </configuration>
 </plugin>
</plugins>
</build>

2.spring的主配置文件

在 src/main/resources/目录现创建一个 xml 文件,文件名可以随意,但 Spring 建议的名称为 applicationContext.xml。
在这里插入图片描述
:用于定义一个实例对象。一个实例对应一个 bean 元素。
id:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。
class:指定该 Bean 所属的类,注意这里只能是类,不能是接口。

3.依赖注入

(1)set 注入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2) 构造注入
构造注入是指,在构造调用者实例的同时,完成被调用者的实例化。即,使用构造器设置依赖关系。
在这里插入图片描述
标签中用于指定参数的属性有:
➢ name:指定参数名称。
➢ index:指明该参数对应着构造器的第几个参数,从 0 开始。不过,该属性不要也行,
但要注意,若参数类型相同,或之间有包含关系,则需要保证赋值顺序要与构造器中的参数
顺序一致。

对于引用类型属性的注入,也可不在配置文件中显示的注入。可以通过为标签设置 autowire 属性值,为引用类型属性进行隐式自动注入(默认是不自动注入引用类型属
性)。根据自动注入判断标准的不同,可以分为两种:

  • byName:根据名称自动注入
  • byType: 根据类型自动注入
  • 在这里插入图片描述
    -在这里插入图片描述
    (3)基于注解的注入
    对于 DI 使用注解,将不再需要在 Spring 配置文件中声明 bean 实例,需要在 Spring 配置文件中配置组件扫描器,用于在指定的基本包中扫描注解。
    在这里插入图片描述
    指定多个包的三种方式:
    1)使用多个 context:component-scan 指定不同的包路径
    在这里插入图片描述
    2)指定 base-package 的值使用分隔符
    分隔符可以使用逗号(,)分号(;)还可以使用空格,不建议使用空格。
    3)base-package 是指定到父包名
    需要在类上使用注解@Component,该注解的 value 属性用于指定该 bean 的 id 值。
    另外,Spring 还提供了 3 个创建对象的注解:
    ➢ @Repository 用于对 DAO 实现类进行注解
    ➢ @Service 用于对 Service 实现类进行注解
    ➢ @Controller 用于对 Controller 实现类进行注解
    这三个注解与@Component 都可以创建对象,但这三个注解还有其他的含义,@Service
    创建业务层对象,业务层对象可以加入事务功能,@Controller 注解创建的对象可以作为处
    理器接收用户的请求。
    @Repository,@Service,@Controller 是对@Component 注解的细化,标注不同层的对
    象。即持久层对象,业务层对象,控制层对象。

4.面向切面编程(AOP)

AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动态代理,与 CGLIB的动态代理。
AspectJ 中常用的通知有五种类型:
(1)前置通知
(2)后置通知
(3)环绕通知
(4)异常通知
(5)最终通知
切入点表达式:execution(访问权限 方法返回值 方法声明(参数) 异常类型)
需要在pom文件中添加依赖:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>

5.AspectJ 基于注解的 AOP 实现:

在这里插入图片描述
B、 Step2:定义切面类
在这里插入图片描述
在这里插入图片描述
D、Step4:注册 AspectJ 的自动代理
在定义好切面 Aspect 后,需要通知 Spring 容器,让容器生成“目标类+ 切面”的代理
对象。这个代理是由容器自动生成的。只需要在 Spring 配置文件中注册一个基于 aspectj 的
自动代理生成器,其就会自动扫描到@Aspect 注解,并按通知类型与切入点,将其织入,并
生成代理
在这里插入图片描述
E、 Step5:测试类中使用目标对象的 id
在这里插入图片描述

  • @Before 前置通知-方法有 JoinPoint 参数
  • @AfterReturning 后置通知-注解有 returning 属性
  • @Around 环绕通知-增强方法有 ProceedingJoinPoint
  • @AfterThrowing 异常通知-注解中有 throwing 属性
  • @After 最终通知

@Pointcut 定义切入点:当较多的通知增强方法使用相同的 execution 切入点表达式时,编写、维护均较为麻烦。
AspectJ 提供了@Pointcut 注解,用于定义 execution 切入点表达式。
在这里插入图片描述

6.spring集成mybatis

(1)在pom文件中添加依赖

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>

(2)mybatis.xml的配置
在这里插入图片描述
(3)主配置文件applicationcontext.xml
在这里插入图片描述

7.事务管理

通过@Transactional 注解方式,可将事务织入到相应 public 方法中,实现事务管理。
采用spring实现注解的事务步骤:

  1. 声明事务管理器
    在这里插入图片描述
  2. 开启注解驱动
    在这里插入图片描述
  3. 业务层 public 方法加入事务属性
    在这里插入图片描述
    采用 AspectJ 的 AOP 配置管理事务
    Step1:maven 依赖 pom.xml
    新加入 aspectj 的依赖坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>

Step2:在容器中添加事务管理器
在这里插入图片描述
Step3:配置事务通知
为事务通知设置相关属性。用于指定要将事务以什么方式织入给哪些方法。例如,应用到 buy 方法上的事务要求是必须的,且当 buy 方法发生异常后要回滚业务。
在这里插入图片描述
Step4:配置增强器
指定将配置好的事务通知,织入给谁。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要运行SSM项目,需要按以下步骤进行:1.准备所需的资源,包括项目的源代码、配置文件、数据库;2.编译并打包项目;3.部署项目,将项目打包文件发布到应用服务器;4.配置项目,包括配置应用服务器、配置数据库、配置项目环境变量等;5.启动项目,将项目部署到应用服务器上,并启动项目;6.测试项目,检查项目的运行情况,确保项目的正常运行。 ### 回答2: 运行SSM项目的具体步骤如下: 1. 确保开发环境已搭建好,包括安装好Java开发工具(如Eclipse、IntelliJ IDEA等)、Maven、Tomcat等。 2. 下载项目源码,一般会以压缩包形式提供,解压到任意目录。 3. 在开发工具中创建一个新的Java项目,将解压后的项目源码导入到项目中。 4. 配置数据库连接信息,一般在项目中的`application.properties`或`application.yml`文件中进行配置,包括数据库URL、用户名、密码等。 5. 通过Maven进行项目依赖的管理和构建,可以通过命令行或开发工具的界面操作执行Maven命令,如`clean install`进行项目构建。 6. 在开发工具中配置Tomcat,添加项目的部署路径和端口号等信息。 7. 启动Tomcat服务器,将项目部署到Tomcat中。 8. 打开浏览器,输入项目的URL地址,可以访问项目主页。 9. 至此,SSM项目已经成功运行起来了。 运行SSM项目的具体步骤较为简单,但需要确保环境配置正确,并按照规定的步骤进行操作。如果项目中有其他特殊的配置或要求,还需要根据实际情况进行相应的调整。最后,需要注意定期备份项目源码和数据库等关键数据,以防意外数据丢失。 ### 回答3: 运行SSMSpring+SpringMVC+MyBatis)项目的具体步骤如下: 1. 准备环境:首先确保Java、Maven、Tomcat等相关环境已经安装并配置好。 2. 下载项目代码:可以从项目所在的版本控制系统(如Git)中下载源代码,或者从项目官方网站上下载。解压下载的项目代码到本地的任意目录。 3. 导入项目:打开集成开发环境(IDE),如Eclipse、IntelliJ IDEA等,导入已下载的项目代码。选择导入Maven项目,让IDE自动引入项目所需的依赖库。 4. 配置数据库:在项目的配置文件中,找到数据库连接配置。根据实际情况修改数据库的相关配置,配置数据库连接的URL、用户名、密码等信息。 5. 创建数据库:根据项目需求,在数据库中创建对应的数据表。可以使用图形化工具(如Navicat、MySQL Workbench)或者命令行等方式来创建数据库表。 6. 初始化数据:如果需要预先插入一些测试数据,在数据库中执行对应的SQL脚本或者使用数据导入工具进行数据导入。 7. 运行项目:配置好数据库后,就可以启动Tomcat服务器来运行项目。在IDE中选择对应的启动配置,启动Tomcat服务器。 8. 访问项目:当Tomcat服务器成功启动后,使用浏览器输入项目的URL地址,即可访问项目。根据项目的不同,可能需要登录或者访问不同的模块。 9. 进行功能测试:在浏览器中逐个点击项目的各个功能链接,测试项目是否正常运行。根据项目的需求,输入相关数据并进行功能操作。 10. 调试和优化:如果项目运行过程中出现问题,使用IDE提供的调试功能进行代码的断点调试。根据项目的需求,进行性能优化、安全性优化等工作。 以上就是运行SSM项目的具体步骤。具体的操作可能会根据项目的复杂程度和具体需求有所不同,但是大致上都会涉及到这些步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值