快速搭建SSM框架(Maven)五步曲的方法步骤
人气:0项目完整搭建链接: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 @Transactional public 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.Driver jdbc.url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8 jdbc.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进行测试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
加载全部内容