创建spring项目步骤一

发布时间:2020-07-26 22:18:05 作者:青羽的疯狂
来源:网络 阅读:868

前言

该文档主要介绍如何创建一个简单的、能够正常运行的spring项目。为往后项目的开发提供便利

创建spring项目

创建maven项目

使用sts开发软件创建项目,STS是Spring Tool Suite的简称,该软件是一个基于Eclipse环境的,用于开发spring应用程序的软件。其提供了很多spring相关的辅助工具,为开发项目提供诸多便利。

创建spring项目步骤一

导入spring-mvc jar包

编辑spring项目的pom.xml文件,加入spring-mvc容器 相关jar依赖、spring-ioc容器相关的jar

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.bear.simple_spring</groupId>
    <artifactId>simple_spring</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <!-- 导入springmvc jar包 begin -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
        <!-- 导入springmvc json与对象转换jar【@RequestBody、@ResponseBody ...注解生效】-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.8</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml</groupId>
            <artifactId>classmate</artifactId>
            <version>1.4.0</version>
        </dependency>
    </dependencies>
</project>
配置servlet容器web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <!-- 配置servlet 容器加载 spring-mvc配置文件,使servlet容器启动的时候同时启动spring-mvc容器 -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- 配置spring-mvc路径 -->
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- Map all requests to the DispatcherServlet for handling -->
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <!-- 配置 spring-mvc拦截的请求 -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- 配置servlet 容器加载 spring-ioc配置文件,使servlet容器启动的时候同时启动spring-ioc容器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-beans.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>
创建spring-mvc容器的配置文件【spring-mvc.xml】

创建spring-mvc的配置文件

<?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/mvc https://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context-4.3.xsd">
    <!-- 配置spring 扫描包 -->
    <context:component-scan base-package="com.bear.simple.spring" use-default-filters="false">
        <!-- 配置 spring-mvc 只扫描的注解Controller【处理http请求注解】、 ControllerAdvice【处理异常的注解】-->
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
    </context:component-scan>

    <!-- 配置spring jsp 的试图解析器 【如不需要用到模板,可不配置】-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!-- 配置支持静态文件访问 -->
    <mvc:default-servlet-handler/>

    <!-- 配置注解驱动,让RequestMapping 、异常处理等注解生效 -->
    <mvc:annotation-driven></mvc:annotation-driven>
</beans>
创建spring-ioc容器的配置文件【spring-beans.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/mvc https://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context-4.3.xsd">
    <!-- 配置spring-ioc容器扫描的包,并排除 扫描Controller、ControllerAdvice【这两个注解交由spring-mvc容器扫描】-->
    <context:component-scan base-package="com.bear.simple.spring">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>       
    </context:component-scan>
</beans>
测试spring-mvc项目是否创建成功
统一返回结果

统一异常处理

编写异常处理控制器(统一处理系统发生的所有异常)

package com.bear.simple.spring.controller;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import com.bear.simple.spring.entity.JsonData;

@ControllerAdvice
public class ExceptionController {

    /**
     * 处理特定异常
     * @param ex
     * @return
     */
    @ExceptionHandler
    @ResponseBody
    public JsonData handleUserNotExistException(UserNotExistException ex) {
        if(null == ex.getMessage() || "".equals(ex.getMessage()))
            return JsonData.error("用户不存在", ex, "998");
        return JsonData.error(ex, "998");
    }

    /**
     * 处理上述遗漏的异常
     * @param ex
     * @return
     */
    @ExceptionHandler
    @ResponseBody
    public JsonData handleUserNotExistException(Exception ex) {
        if(null == ex.getMessage() || "".equals(ex.getMessage()))
            return JsonData.error("系统发生未知异常", ex, "999");
        return JsonData.error(ex, "999");
    }
}

添加日志处理

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.7</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.7</version>
        </dependency>

配置统一编码过滤器

推荐阅读:
  1. node创建Vue项目步骤详解
  2. eclipse创建python项目步骤详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring java log

上一篇:电商网站常用的楼层导航效果

下一篇:Android 属性动画备忘 nineold

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》