SSM框架简介及整合教程,轻松拿到了阿里Java高级开发工程师的offer
Posted 程序员超时空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM框架简介及整合教程,轻松拿到了阿里Java高级开发工程师的offer相关的知识,希望对你有一定的参考价值。
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- 5.Spring -->
<!-- 5.1 Spring核心 :core bean context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!-- 5.2 Spring jdbc依赖,事务依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!-- 5.3 Spring web依赖>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!-- 5.4 Spring test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!-- 6.redis客户端:Jedis【不使用的话可以直接去除】 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.0.8</version>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
<version>1.0.8</version>
</dependency>
<!-- 7.工具类 -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
**\\*项目结构图**
![](https://user-gold-cdn.xitu.io/2017/10/28/2c7ad9c13a987f35dec09b1aa58d8eb8?imageView2/0/w/1280/h/960/format/webp/ignore-error/1)
_src/test/java:用于junit的测试类_ src/main/java:
dao:数据库处理
service:业务处理
enums:项目枚举
mapper:dao中方法对应mybatis映射文件,Sql就在这里面
web:控制器,controller
entity:项目中的实体类,如:商品类和订单类
4.3 配置文件
--------
**jdbc.properties**
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://serverName:port/dbname?useUnicode=true&characterEncoding=utf8
jdbc.username=[填写自己的数据库用户名]
jdbc.password=[填写自己的数据库登录密码]
logback.xml
这里直接用的是控制台输出,如果是生产环境,可以根据具体的需求进行配置。
<?xml version="1.0" encoding="UTF-8"?>
ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
mybatis-config
这里主要是MyBaties全局配置文件的配置,可以将一些类的别名、主键自增配置、驼峰命名规则配置等。
spring 相关配置文件
为了更加清晰的了解spring各个组件的作用,这里将数据源的配置、事务配置和视图解析器的配置分开来。
**spring-dao.xml**
这里面主要就是spring配置整合mybatis的具体过程,具体包括:
1. 引入数据库配置文件
2. 配置数据源【数据库连接池】
3. 配置SqlSessionFactory对象
4. 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中
<context:property-placeholder location=“classpath:jdbc.properties” />
spring-service
实际的开发过程中事务一般都是在service层进行操作。因此用一个单独的spring-service.xml来进行事务的相关的配置
<context:component-scan base-package=“com.glmapper.framerwork.service” />
<bean id=“transactionManager”
class=“org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<tx:annotation-driven transaction-manager=“transactionManager” />
spring-web.xml
配置SpringMVC;需要说明一下,一般我们在实际的开发过程中,会配置json2map解析。这里没有用到就不贴出来,读者可以自行网上搜索一波。
<mvc:annotation-driven />
mvc:default-servlet-handler/
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<context:component-scan base-package=“com.glmapper.framerwork.web” />
web.xml
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
mvc-dispatcher
/
至此,所有的配置文件结束,下面将进行具体的代码环节
4.4 业务代码
--------
这里mapper中的xml文件就不贴了,自行脑补。。。。
实体类:包括商品和订单
**商品类**
/**
-
商品信息类
-
@author glmapper
*/
public class Goods {
private long goodsId;// 商品ID
private String goodsName;// 商品名称
private int number;// 商品库存
public long getGoodsId() {
return goodsId;
}
public void setGoodsId(long goodsId) {
this.goodsId = goodsId;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
**订单类**
/**
-
订单信息类
-
@author glmapper
*/
public class OrderInfo {
private String orderId;//订单ID
private long goodsId;//商品ID
private long userId;//用户ID
private Date orderTime;//下单时间
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public long getGoodsId() {
return goodsId;
}
public void setGoodsId(long goodsId) {
this.goodsId = goodsId;
}
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public Date getOrderTime() {
return orderTime;
}
public void setOrderTime(Date orderTime) {
this.orderTime = orderTime;
}
}
* 商品dao
public interface GoodsDao {
/**
* 通过ID查询单件商品信息
*
* @param id
* @return
*/
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
感兴趣的朋友可以点击Java学习免费获取。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
erId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public Date getOrderTime() {
return orderTime;
}
public void setOrderTime(Date orderTime) {
this.orderTime = orderTime;
}
}
* 商品dao
public interface GoodsDao {
/**
* 通过ID查询单件商品信息
*
* @param id
* @return
*/
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
感兴趣的朋友可以点击Java学习免费获取。
[外链图片转存中…(img-f6csLNyt-1628591741452)]
[外链图片转存中…(img-8Dx4Q6Ik-1628591741455)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
以上是关于SSM框架简介及整合教程,轻松拿到了阿里Java高级开发工程师的offer的主要内容,如果未能解决你的问题,请参考以下文章
java高并发框架 SSM框架 详细整合教程(Spring+SpringMVC+MyBatis)
java高并发框架 SSM框架 详细整合教程(Spring+SpringMVC+MyBatis)
Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)原书代码