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的主要内容,如果未能解决你的问题,请参考以下文章

SSM框架简介及整合教程

java高并发框架 SSM框架 详细整合教程(Spring+SpringMVC+MyBatis)

java高并发框架 SSM框架 详细整合教程(Spring+SpringMVC+MyBatis)

Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)原书代码

01 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之业务分析与DAO层

[java]整合SSM框架实现简单的增删改查