首页 > 编程 > Java > 正文

快速搭建SSM框架(Maven)五步曲的方法步骤

2019-11-26 08:30:35
字体:
来源:转载
供稿:网友

项目完整搭建链接:https://gitee.com/DaNanHai04/ssm_parent.git

第一步 创建一个父工程:

导入父工程的pom坐标:

<dependencies> <!--spring核心--> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-context</artifactId>  <version>5.0.2.RELEASE</version> </dependency>  <!--spring-webmvc--> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-webmvc</artifactId>  <version>5.0.2.RELEASE</version> </dependency>  <!--spring-jdbc支持、spring-tx事务支持、aspectj 支持--> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-jdbc</artifactId>  <version>5.0.2.RELEASE</version> </dependency> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-tx</artifactId>  <version>5.0.2.RELEASE</version> </dependency> <dependency>  <groupId>org.aspectj</groupId>  <artifactId>aspectjweaver</artifactId>  <version>1.8.7</version> </dependency>  <!--spring-test--> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-test</artifactId>  <version>5.0.2.RELEASE</version> </dependency>  <!--mybatis支持包--> <dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis</artifactId>  <version>3.4.5</version> </dependency>  <!-- mybatis-spring整合包--> <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.30</version> </dependency> <dependency>  <groupId>com.alibaba</groupId>  <artifactId>druid</artifactId>  <version>1.1.10</version> </dependency>  <!-- fastJSON --> <dependency>  <groupId>com.alibaba</groupId>  <artifactId>fastjson</artifactId>  <version>1.2.56</version> </dependency>  <!-- jstl 支持包--> <dependency>  <groupId>jstl</groupId>  <artifactId>jstl</artifactId>  <version>1.2</version> </dependency>  <!--log4j、junit测试支持--> <dependency>  <groupId>log4j</groupId>  <artifactId>log4j</artifactId>  <version>1.2.17</version> </dependency> <dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>4.12</version> </dependency> </dependencies>

第二步 创建ssm_pojo子模块(mybatis逆向这里不做赘述,直接将生成好的复制即可)

创建实体类TbBrand实体类

package com.itcode.pojo; import java.io.Serializable; public class TbBrand implements Serializable {  private Long id;   private String name;   private String firstChar;    //此处省略get/set方法以及toString方法

创建TbBrandExample条件类 

package com.itcode.pojo; import java.util.ArrayList;import java.util.List; public class TbBrandExample {  protected String orderByClause;   protected boolean distinct;   protected List<Criteria> oredCriteria;   public TbBrandExample() {    oredCriteria = new ArrayList<Criteria>();  }   public void setOrderByClause(String orderByClause) {    this.orderByClause = orderByClause;  }   public String getOrderByClause() {    return orderByClause;  }   public void setDistinct(boolean distinct) {    this.distinct = distinct;  }   public boolean isDistinct() {    return distinct;  }   public List<Criteria> getOredCriteria() {    return oredCriteria;  }   public void or(Criteria criteria) {    oredCriteria.add(criteria);  }   public Criteria or() {    Criteria criteria = createCriteriaInternal();    oredCriteria.add(criteria);    return criteria;  }   public Criteria createCriteria() {    Criteria criteria = createCriteriaInternal();    if (oredCriteria.size() == 0) {      oredCriteria.add(criteria);    }    return criteria;  }   protected Criteria createCriteriaInternal() {    Criteria criteria = new Criteria();    return criteria;  }   public void clear() {    oredCriteria.clear();    orderByClause = null;    distinct = false;  }   protected abstract static class GeneratedCriteria {    protected List<Criterion> criteria;     protected GeneratedCriteria() {      super();      criteria = new ArrayList<Criterion>();    }     public boolean isValid() {      return criteria.size() > 0;    }     public List<Criterion> getAllCriteria() {      return criteria;    }     public List<Criterion> getCriteria() {      return criteria;    }     protected void addCriterion(String condition) {      if (condition == null) {        throw new RuntimeException("Value for condition cannot be null");      }      criteria.add(new Criterion(condition));    }     protected void addCriterion(String condition, Object value, String property) {      if (value == null) {        throw new RuntimeException("Value for " + property + " cannot be null");      }      criteria.add(new Criterion(condition, value));    }     protected void addCriterion(String condition, Object value1, Object value2, String property) {      if (value1 == null || value2 == null) {        throw new RuntimeException("Between values for " + property + " cannot be null");      }      criteria.add(new Criterion(condition, value1, value2));    }     public Criteria andIdIsNull() {      addCriterion("id is null");      return (Criteria) this;    }     public Criteria andIdIsNotNull() {      addCriterion("id is not null");      return (Criteria) this;    }     public Criteria andIdEqualTo(Long value) {      addCriterion("id =", value, "id");      return (Criteria) this;    }     public Criteria andIdNotEqualTo(Long value) {      addCriterion("id <>", value, "id");      return (Criteria) this;    }     public Criteria andIdGreaterThan(Long value) {      addCriterion("id >", value, "id");      return (Criteria) this;    }     public Criteria andIdGreaterThanOrEqualTo(Long value) {      addCriterion("id >=", value, "id");      return (Criteria) this;    }     public Criteria andIdLessThan(Long value) {      addCriterion("id <", value, "id");      return (Criteria) this;    }     public Criteria andIdLessThanOrEqualTo(Long value) {      addCriterion("id <=", value, "id");      return (Criteria) this;    }     public Criteria andIdIn(List<Long> values) {      addCriterion("id in", values, "id");      return (Criteria) this;    }     public Criteria andIdNotIn(List<Long> values) {      addCriterion("id not in", values, "id");      return (Criteria) this;    }     public Criteria andIdBetween(Long value1, Long value2) {      addCriterion("id between", value1, value2, "id");      return (Criteria) this;    }     public Criteria andIdNotBetween(Long value1, Long value2) {      addCriterion("id not between", value1, value2, "id");      return (Criteria) this;    }     public Criteria andNameIsNull() {      addCriterion("name is null");      return (Criteria) this;    }     public Criteria andNameIsNotNull() {      addCriterion("name is not null");      return (Criteria) this;    }     public Criteria andNameEqualTo(String value) {      addCriterion("name =", value, "name");      return (Criteria) this;    }     public Criteria andNameNotEqualTo(String value) {      addCriterion("name <>", value, "name");      return (Criteria) this;    }     public Criteria andNameGreaterThan(String value) {      addCriterion("name >", value, "name");      return (Criteria) this;    }     public Criteria andNameGreaterThanOrEqualTo(String value) {      addCriterion("name >=", value, "name");      return (Criteria) this;    }     public Criteria andNameLessThan(String value) {      addCriterion("name <", value, "name");      return (Criteria) this;    }     public Criteria andNameLessThanOrEqualTo(String value) {      addCriterion("name <=", value, "name");      return (Criteria) this;    }     public Criteria andNameLike(String value) {      addCriterion("name like", value, "name");      return (Criteria) this;    }     public Criteria andNameNotLike(String value) {      addCriterion("name not like", value, "name");      return (Criteria) this;    }     public Criteria andNameIn(List<String> values) {      addCriterion("name in", values, "name");      return (Criteria) this;    }     public Criteria andNameNotIn(List<String> values) {      addCriterion("name not in", values, "name");      return (Criteria) this;    }     public Criteria andNameBetween(String value1, String value2) {      addCriterion("name between", value1, value2, "name");      return (Criteria) this;    }     public Criteria andNameNotBetween(String value1, String value2) {      addCriterion("name not between", value1, value2, "name");      return (Criteria) this;    }     public Criteria andFirstCharIsNull() {      addCriterion("first_char is null");      return (Criteria) this;    }     public Criteria andFirstCharIsNotNull() {      addCriterion("first_char is not null");      return (Criteria) this;    }     public Criteria andFirstCharEqualTo(String value) {      addCriterion("first_char =", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharNotEqualTo(String value) {      addCriterion("first_char <>", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharGreaterThan(String value) {      addCriterion("first_char >", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharGreaterThanOrEqualTo(String value) {      addCriterion("first_char >=", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharLessThan(String value) {      addCriterion("first_char <", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharLessThanOrEqualTo(String value) {      addCriterion("first_char <=", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharLike(String value) {      addCriterion("first_char like", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharNotLike(String value) {      addCriterion("first_char not like", value, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharIn(List<String> values) {      addCriterion("first_char in", values, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharNotIn(List<String> values) {      addCriterion("first_char not in", values, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharBetween(String value1, String value2) {      addCriterion("first_char between", value1, value2, "firstChar");      return (Criteria) this;    }     public Criteria andFirstCharNotBetween(String value1, String value2) {      addCriterion("first_char not between", value1, value2, "firstChar");      return (Criteria) this;    }  }   public static class Criteria extends GeneratedCriteria {     protected Criteria() {      super();    }  }   public static class Criterion {    private String condition;     private Object value;     private Object secondValue;     private boolean noValue;     private boolean singleValue;     private boolean betweenValue;     private boolean listValue;     private String typeHandler;     public String getCondition() {      return condition;    }     public Object getValue() {      return value;    }     public Object getSecondValue() {      return secondValue;    }     public boolean isNoValue() {      return noValue;    }     public boolean isSingleValue() {      return singleValue;    }     public boolean isBetweenValue() {      return betweenValue;    }     public boolean isListValue() {      return listValue;    }     public String getTypeHandler() {      return typeHandler;    }     protected Criterion(String condition) {      super();      this.condition = condition;      this.typeHandler = null;      this.noValue = true;    }     protected Criterion(String condition, Object value, String typeHandler) {      super();      this.condition = condition;      this.value = value;      this.typeHandler = typeHandler;      if (value instanceof List<?>) {        this.listValue = true;      } else {        this.singleValue = true;      }    }     protected Criterion(String condition, Object value) {      this(condition, value, null);    }     protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {      super();      this.condition = condition;      this.value = value;      this.secondValue = secondValue;      this.typeHandler = typeHandler;      this.betweenValue = true;    }     protected Criterion(String condition, Object value, Object secondValue) {      this(condition, value, secondValue, null);    }  }}

创建一个Result返回通知类

package com.itcode.pojo; import java.io.Serializable;  public class Result implements Serializable {  private boolean success; //判断该变量  private String message; //返回的字符串   public Result(boolean success, String message) {    this.success = success;    this.message = message;  }  //此处省略get/set方法,自行补全

第三步 创建ssm_dao子模块(逆向工程也可以生成)

创建TbBrandMapper接口类

package com.itcode.dao; import com.itcode.pojo.TbBrand;import com.itcode.pojo.TbBrandExample;import org.apache.ibatis.annotations.Param; import java.util.List;import java.util.Map; public interface TbBrandMapper {  int countByExample(TbBrandExample example);   int deleteByExample(TbBrandExample example);   int deleteByPrimaryKey(Long id);   int insert(TbBrand record);   int insertSelective(TbBrand record);   List<TbBrand> selectByExample(TbBrandExample example);   TbBrand selectByPrimaryKey(Long id);   int updateByExampleSelective(@Param("record") TbBrand record, @Param("example") TbBrandExample example);   int updateByExample(@Param("record") TbBrand record, @Param("example") TbBrandExample example);   int updateByPrimaryKeySelective(TbBrand record);   int updateByPrimaryKey(TbBrand record);   List<Map> selectOptionList();}

创建TbBrandMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.itcode.dao.TbBrandMapper" > <resultMap id="BaseResultMap" type="com.itcode.pojo.TbBrand" >  <id column="id" property="id" jdbcType="BIGINT" />  <result column="name" property="name" jdbcType="VARCHAR" />  <result column="first_char" property="firstChar" jdbcType="VARCHAR" /> </resultMap> <sql id="Example_Where_Clause" >  <where >   <foreach collection="oredCriteria" item="criteria" separator="or" >    <if test="criteria.valid" >     <trim prefix="(" suffix=")" prefixOverrides="and" >      <foreach collection="criteria.criteria" item="criterion" >       <choose >        <when test="criterion.noValue" >         and ${criterion.condition}        </when>        <when test="criterion.singleValue" >         and ${criterion.condition} #{criterion.value}        </when>        <when test="criterion.betweenValue" >         and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}        </when>        <when test="criterion.listValue" >         and ${criterion.condition}         <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >          #{listItem}         </foreach>        </when>       </choose>      </foreach>     </trim>    </if>   </foreach>  </where> </sql> <sql id="Update_By_Example_Where_Clause" >  <where >   <foreach collection="example.oredCriteria" item="criteria" separator="or" >    <if test="criteria.valid" >     <trim prefix="(" suffix=")" prefixOverrides="and" >      <foreach collection="criteria.criteria" item="criterion" >       <choose >        <when test="criterion.noValue" >         and ${criterion.condition}        </when>        <when test="criterion.singleValue" >         and ${criterion.condition} #{criterion.value}        </when>        <when test="criterion.betweenValue" >         and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}        </when>        <when test="criterion.listValue" >         and ${criterion.condition}         <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >          #{listItem}         </foreach>        </when>       </choose>      </foreach>     </trim>    </if>   </foreach>  </where> </sql> <sql id="Base_Column_List" >  id, name, first_char </sql> <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.itcode.pojo.TbBrandExample" >  select  <if test="distinct" >   distinct  </if>  <include refid="Base_Column_List" />  from tb_brand  <if test="_parameter != null" >   <include refid="Example_Where_Clause" />  </if>  <if test="orderByClause != null" >   order by ${orderByClause}  </if> </select> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >  select   <include refid="Base_Column_List" />  from tb_brand  where id = #{id,jdbcType=BIGINT} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >  delete from tb_brand  where id = #{id,jdbcType=BIGINT} </delete> <delete id="deleteByExample" parameterType="com.itcode.pojo.TbBrandExample" >  delete from tb_brand  <if test="_parameter != null" >   <include refid="Example_Where_Clause" />  </if> </delete> <insert id="insert" parameterType="com.itcode.pojo.TbBrand" >  insert into tb_brand (id, name, first_char   )  values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{firstChar,jdbcType=VARCHAR}   ) </insert> <insert id="insertSelective" parameterType="com.itcode.pojo.TbBrand" >  insert into tb_brand  <trim prefix="(" suffix=")" suffixOverrides="," >   <if test="id != null" >    id,   </if>   <if test="name != null" >    name,   </if>   <if test="firstChar != null" >    first_char,   </if>  </trim>  <trim prefix="values (" suffix=")" suffixOverrides="," >   <if test="id != null" >    #{id,jdbcType=BIGINT},   </if>   <if test="name != null" >    #{name,jdbcType=VARCHAR},   </if>   <if test="firstChar != null" >    #{firstChar,jdbcType=VARCHAR},   </if>  </trim> </insert> <select id="countByExample" parameterType="com.itcode.pojo.TbBrandExample" resultType="java.lang.Integer" >  select count(*) from tb_brand  <if test="_parameter != null" >   <include refid="Example_Where_Clause" />  </if> </select> <update id="updateByExampleSelective" parameterType="map" >  update tb_brand  <set >   <if test="record.id != null" >    id = #{record.id,jdbcType=BIGINT},   </if>   <if test="record.name != null" >    name = #{record.name,jdbcType=VARCHAR},   </if>   <if test="record.firstChar != null" >    first_char = #{record.firstChar,jdbcType=VARCHAR},   </if>  </set>  <if test="_parameter != null" >   <include refid="Update_By_Example_Where_Clause" />  </if> </update> <update id="updateByExample" parameterType="map" >  update tb_brand  set id = #{record.id,jdbcType=BIGINT},   name = #{record.name,jdbcType=VARCHAR},   first_char = #{record.firstChar,jdbcType=VARCHAR}  <if test="_parameter != null" >   <include refid="Update_By_Example_Where_Clause" />  </if> </update> <update id="updateByPrimaryKeySelective" parameterType="com.itcode.pojo.TbBrand" >  update tb_brand  <set >   <if test="name != null" >    name = #{name,jdbcType=VARCHAR},   </if>   <if test="firstChar != null" >    first_char = #{firstChar,jdbcType=VARCHAR},   </if>  </set>  where id = #{id,jdbcType=BIGINT} </update> <update id="updateByPrimaryKey" parameterType="com.itcode.pojo.TbBrand" >  update tb_brand  set name = #{name,jdbcType=VARCHAR},   first_char = #{firstChar,jdbcType=VARCHAR}  where id = #{id,jdbcType=BIGINT} </update> <select id="selectOptionList" resultType="java.util.Map">   select id,name as text from tb_brand </select> </mapper>

第四步 创建ssm_service子模块

创建一个service接口

package com.itcode.service; import com.itcode.pojo.TbBrand; import java.util.List; public interface BrandService {  List<TbBrand> findAll();   void insert(TbBrand brand);}

创建一个service的实现类

package com.itcode.service.impl; import com.itcode.dao.TbBrandMapper;import com.itcode.pojo.TbBrand;import com.itcode.service.BrandService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service@Transactionalpublic class BrandServiceImpl implements BrandService {  @Autowired  private TbBrandMapper tbBrandDao;  @Override  public List<TbBrand> findAll() {    return tbBrandDao.selectByExample(null);  }   @Override  public void insert(TbBrand brand) {    tbBrandDao.insert(brand);  }}

jdbc.properties配置(在resource中配置)

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8jdbc.username=用户名jdbc.password=密码

applicationContext.xml配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context.xsd    http://www.springframework.org/schema/tx    http://www.springframework.org/schema/tx/spring-tx.xsd">   <!--1.注解扫描: 只扫描service包。-->  <context:component-scan base-package="com.itcode.service"/>   <!--2. 加载properties-->  <context:property-placeholder location="classpath:jdbc.properties"/>   <!--3. 创建连接池-->  <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">    <property name="driverClassName" value="${jdbc.driver}"/>    <property name="url" value="${jdbc.url}"/>    <property name="username" value="${jdbc.username}"/>    <property name="password" value="${jdbc.password}"/>  </bean>   <!--4. Spring整合Mybatis:把SqlSessionFactory对象的创建交给Spring完成-->  <bean class="org.mybatis.spring.SqlSessionFactoryBean">    <property name="dataSource" ref="dataSource"/>    <!--<property name="mapperLocations" value="classpath:com/itcode/dao/TbBrandMapper.xml"/>-->  </bean>   <!--5. 扫描dao的接口所在包,自动对该包下所有的dao接口自动生成代理对象-->  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    <property name="basePackage" value="com.itcode.dao"/>  </bean>   <!--6. 事务管理器 -->  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource" />  </bean>   <!--7. 开启事务控制的注解支持 -->  <tx:annotation-driven transaction-manager="transactionManager"/>   <!--以下配置请忽略只是为了回顾用-->  <!--此处是第二种方式 Spring声明式事务管理配置-->  <!--6.1 事务管理器  <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource"/>  </bean>   6.2 事务通知规则  <tx:advice id="txAdvice" transaction-manager="txManager">    <tx:attributes>      <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>      <tx:method name="*" propagation="REQUIRED" read-only="false"/>    </tx:attributes>  </tx:advice>   6.3 Aop配置 = 切入点表达式 + 通知规则的引用  <aop:config>    <aop:pointcut id="pt" expression="execution(* com..*ServiceImpl.*(..))"/>    <aop:advisor advice-ref="txAdvice" pointcut-ref="pt"/>  </aop:config>  --></beans>

第五步 创建一个ssm_web子模块

web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://java.sun.com/xml/ns/javaee"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"     version="2.5">   <!-- 解决post乱码 -->  <filter>    <filter-name>CharacterEncodingFilter</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    <init-param>      <param-name>encoding</param-name>      <param-value>utf-8</param-value>    </init-param>    <init-param>      <param-name>forceEncoding</param-name>      <param-value>true</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>CharacterEncodingFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>   <!--SpringMVC前端控制器-->  <servlet>    <servlet-name>dispatcherServlet</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:springMVC.xml</param-value>    </init-param>  </servlet>  <servlet-mapping>    <servlet-name>dispatcherServlet</servlet-name>    <url-pattern>*.do</url-pattern>  </servlet-mapping>   <!--配置监听器,加载applicationContext.xml配置文件-->  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:applicationContext.xml</param-value>  </context-param></web-app>

springMVC.xml配置说明

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">   <!--1. 注解扫描: 之扫描controller包下的注解-->  <context:component-scan base-package="com.itcode.controller"/>   <!--2. 注解驱动,controller返回值支持json-->  <mvc:annotation-driven>    <mvc:message-converters register-defaults="true">      <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">        <property name="supportedMediaTypes" value="application/json"/>        <property name="features">          <array>            <value>WriteMapNullValue</value>            <value>WriteDateUseDateFormat</value>          </array>        </property>      </bean>    </mvc:message-converters>  </mvc:annotation-driven></beans>

创建一个BrandController类

package com.itcode.controller; import com.itcode.pojo.Result;import com.itcode.pojo.TbBrand;import com.itcode.service.BrandService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController@RequestMapping("/brand")public class BrandController {   @Autowired  private BrandService brandService;   @RequestMapping("/findAll")  public List<TbBrand> findAll(){    return brandService.findAll();  }   @RequestMapping("/insert")  public Result insert(@RequestBody TbBrand brand){    try {      brandService.insert(brand);      return new Result(true, "新增成功");    } catch (Exception e) {      e.printStackTrace();      return new Result(false, "新增失败");    }  }}

最后配置一下tomcat,启动tomcat可以了,如果想要测试我们的接口可以使用Postman进行测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表