ssm环境搭建保姆级教程(idea)

注意

本篇分享只是介绍详细过程,并不介绍概念
搭建完的空项目已经上传到github上了,点击这里传送

1.创建一个新工程

创建工程步骤1.1

在这里插入图片描述

创建工程步骤1.2

在这里插入图片描述

创建工程步骤1.3

在这里插入图片描述

创建工程1.4

在这里插入图片描述

2.修改pom.xml文件

2.1 导入版本控制(设置版本号)

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.0.2.RELEASE</spring.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <mysql.version>5.1.6</mysql.version>
        <mybatis.version>3.4.5</mybatis.version>
    </properties>

在这里插入图片描述

2.2 导入依赖

导入依赖后会自动导入jar包

    <dependencies>
        <!--用于aop-->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--springmvc需要的jar包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--springmvc需要的jar包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--spring的单元测试-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--事务-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--jdbc模板技术-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <!--servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <!--servlet-jsp-->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
        <!--el表达式 -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!--日志-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>
        <!--用于spring整合mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!--c3p0连接池-->
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
    </dependencies>

在这里插入图片描述
导入之后,可以在External Libraries中查看是否成功导入jar包。
在这里插入图片描述

3.创建java和resources文件夹

3.1 右键main New Directory,创建两个文件夹一个名为java,一个名为resources。

在这里插入图片描述

3.2 创建完成之后,java文件夹右键Mark Directory as Sources Root

在这里插入图片描述

3.3 rosources文件夹右键Mark Directory as ResourcesRoot

在这里插入图片描述

4. 创建文件夹

在java下新建一些包,层级结构如下,com.codetree是域名反写,在codetree下建立的个包是后续用来写代码的包。其中com.codetree是自己随便写的,根据自己的喜好来,但是控制层包名controller、业务层包名service、持久层包名dao(或者mapper)是约定俗成的,最好不要随意变动。
在这里插入图片描述

5.创建数据库表映射类

在域名下建立domain文件夹,然后在domain下建立一个Student类。类中的成员变量根据数据库表的字段名设置。
例如,数据库中表结构如下,其中id只是作为一个int类型自动递增的主键,没有实际意义,所以实体类中不需要出现:
在这里插入图片描述

5.1 创建实体类

创建实体类,并实现序列化接口。
实体类成员变量如下:
在这里插入图片描述

5.2 为实体类创建全参和无参构造方法

Idea快捷键:Alt+Insert(光标在哪,构造方法就生成在哪),Alt+Insert后选择Constructor(构造方法)
在这里插入图片描述

选择Select None,创建一个无参构造:
在这里插入图片描述
然后全选,创建全参构造:
在这里插入图片描述

5.3 创建getter/setter方法:

首先选择Getter And Setter
在这里插入图片描述
成员变量全选,为所有的成员变量创建getter/setter方法:
在这里插入图片描述

5.4 创建toString方法

快捷键选择toString():
在这里插入图片描述
一般会默认全选,然后OK。
在这里插入图片描述
至此,就结束了实体类的创建。

6. 创建持久层dao接口

一般命名只要实体类加Dao就可以了,如:StuDao、UserDao、AdminDao等等
但是我的命名习惯为在接口名前加上一个大写的“ I ”,表示这是一个接口。
在这里插入图片描述
创建完成后确保这是一个接口,然后在接口中写入一个测试的查询方法
在这里插入图片描述

7. 创建业务层service接口以及实现类

7.1创建接口

创建过程一样,同为接口。
在这里插入图片描述

7.2创建实现类

命名为impl.StuServiceImpl的效果为,在service包下生成一个impl的包,然后在impl包下创建一个StuServiceImpl类
在这里插入图片描述

创建实现类之后,先实现接口 implements IStuService,然后Alt+Insert选择Implement Methods,实现接口中定义的方法。
在这里插入图片描述
点击OK
在这里插入图片描述
先简单写一句测试代码
在这里插入图片描述

8. 创建控制层类

先建完放这里,待会儿再用
在这里插入图片描述

9. 配置spring

9.1 在resources下创建spring配置文件,命名为ApplicationContext.

在这里插入图片描述
在这里插入图片描述
但是这个里面的约束是远远不够的,需要我们自己再加上一些.


在这里插入图片描述

9.2 开启注解扫描

在这里插入图片描述

9.3 为service加上注解

spring配置文件扫描到这个注解之后,会把这个类注入IOC容器,并指定其名称为stuService.
在这里插入图片描述

9.4 在resources文件夹中导入log4j配置文件,用于测试

点击这里获取文件
提取码:logj
把文件粘贴进去就行(复制文件,点击resources,Ctrl+V)
在这里插入图片描述

9.5 编写测试类

9.5.1 创建一个test包,在test下创建一个测试类,在类中写一个返回值为void,参数列表为空的方法,并加上@Test注解,这个时候发现注解注不上,但是在依赖中已经导入过Junit依赖了,所以更改pom.xml中Junit依赖的作用范围

在这里插入图片描述
将作用范围从test改为compile
在这里插入图片描述
改完作用范围之后,重新回到测试类,发现系统提示可以通过Alt+Enter导包了,就直接快捷键导进去就行
在这里插入图片描述
编写测试代码,测试,打印出之前在service中写的输出语句就说明spring配置完成了.
在这里插入图片描述

10. 配置springMVC

10.1 配置web.xml配置文件

springmvc前面的classpath:注意一定要加上,否则会解析不到这个文件,这是里是因为还没有创建这个文件,所以会报红.,后续创建了 就不会了在这里插入图片描述在这里插入图片描述

10.2创建springmvc配置文件

在resources目录下,创建一个spring Config文件,文件名设为springmvc
在这里插入图片描述
更改约束,把前面导入applicationContext的约束再到一次到视频springmvc中,如下:
在这里插入图片描述
在springmvc中配置
在这里插入图片描述

在这里插入图片描述

10.3 编写前端

在这里插入图片描述

10.4 编写controller测试代码

回到StuController写入如下内容:
@Controller注解用于标记这个类需要注入到IoC容器;
@RequestMapping注解用于接受前端请求,标记在类上的是一级请求,方法上的是
在这里插入图片描述

10.5 创建跳转页面

在WEB-INF目录下创建一个pages文件夹,用于存放网页资源,然后创建success.jsp文件,用于测试
在这里插入图片描述

10.6 部署tomcat

新增tomcat服务
在这里插入图片描述
配置tomcat(还没结束,先别OK)
在这里插入图片描述
点击Deployment,把项目添加进tomcat中
在这里插入图片描述
选择带exploded的项目,然后回到Server
在这里插入图片描述
把更新操作选项设置为redeploy(重新部署),然后OK
在这里插入图片描述

10.7 测试springmvc

点击跳转成功,控制台输出正常,测试成功
在这里插入图片描述

在这里插入图片描述

11. 整合spring - springmvc

启动服务器时,加载applicationContext.xml配置文件

我前面把applicationContext.xml配置文件首字母大写了,这不是一个好习惯,现在把首字母改回小写(点击文件,Shift + F6 重命名文件)
在这里插入图片描述

11.1 配置监听器

然后进入web.xml配置文件,配置监听器,当服务启动,创建ServletContext域对象时,加载applicationContext.xml配置文件,生成容器
在这里插入图片描述

11.2 controller层调用service层

@Autowired注解千万别忘记加,否则是拿不到这个service对象的
在这里插入图片描述

测试整合spring-springmvc

前端跳转成功
在这里插入图片描述
控制台输出正常
在这里插入图片描述

12. 配置Mybatis

12.1 创建jdbcConfig配置文件,用于配置数据库连接属性

在这里插入图片描述

12.2 新建sqlMapConfig.xml配置文件

在这里插入图片描述

12.3 sql编写

用注解的方式写sql
在这里插入图片描述

12.4 测试Mybatis

在这里插入图片描述
测试成功
在这里插入图片描述

13 整合spring-Mybatis-springMVC

13.1 把mybatis需要的对象配置进IoC容器

在这里插入图片描述

13.2 测试整合spring-Mybatis

dao接口加上注解
在这里插入图片描述
service层调用dao层
在这里插入图片描述
controller层调service层,并把数据封装后传入前端
在这里插入图片描述
修改前端响应页面
在这里插入图片描述
测试整合Spring-Mybatis-SpringMVC,前端显示所有数据,测试成功,环境搭建完毕
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值