最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目依賴和配置最新示例講解

 更新時間:2022年11月02日 11:50:01   作者:宏遠十一冠王  
這篇文章主要介紹了SpringBoot項目依賴和配置,這里主要是搭建項目常用到的maven依賴以及搭建項目會需要用到的一些配置文件,本文通過示例代碼給大家詳細講解,需要的朋友可以參考下

maven依賴及一些配置

這里主要是搭建項目常用到的maven依賴以及搭建項目會需要用到的一些配置文件,可能下面這些依賴還不是很全,但是應該會滿足日常大部分的需求了

Spring

Spring項目的依賴

<!-- Spring框架 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.9</version>
</dependency>
<!-- AOP -->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.9.7</version>
</dependency>

SpringBoot項目

parent坐標

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>

starter依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

web starter 依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

devtoos依賴

開啟SpringBoot項目熱部署

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

數(shù)據(jù)庫相關

mysql - connector依賴

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.24</version>
</dependency>

druid連接池–集成boot項目

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.23</version>
</dependency>

c3p0 連接池

<!-- C3P0連接池-->
<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.2</version>
</dependency>

ORM框架

MyBatis

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
</dependency>

MyBatis 集成Spring

<!-- MyBatis整合Spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.6</version>
</dependency>

MyBatis-plus依賴

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>

mybatis-plus代碼生成器

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.2.0</version>
</dependency>

緩存相關

redis 集成boot項目

添加的是spring-data-redis的依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Spring Cache

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

Jedis

<!-- 使用JRedis來操作Redis-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.8.0</version>
</dependency>

安全框架

shiro框架

<!--添加shiro框架-->
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring-boot-web-starter</artifactId>
    <version>1.9.0</version>
</dependency>  

Spring Security

<!--Spring security 依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

常用工具類

jwt 用戶認證相關

<!--jwt依賴-->
<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>4.0.0</version>
</dependency>

打包相關

spring-boot-loader依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-loader</artifactId>
</dependency>

Json 相關

org.json

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160810</version>
</dependency>

fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.76</version>
</dependency>

常用開發(fā)工具類

commons-lang

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

lombok依賴

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>

junit測試工具類

<!-- JUnit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

Http工具類

普通的是一般的Http請求,第二個是異步請求的工具類

<!-- 普通的HTTPCLIENT -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.6</version>
</dependency>
<!-- 異步的高效的HTTPCLIENT -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpasyncclient</artifactId>
    <version>4.1.4</version>
</dependency>

接口文檔相關

Swagger2依賴

添加了Swagger依賴和更換Swagger依賴的默認UI,采用了bootstrap-ui面板

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.7.0</version>
</dependency>  
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.1</version>
</dependency>

knife4j

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.2</version>
</dependency>

Servlet 依賴

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

Flink相關的依賴

flink

<!--<flink.version>1.12.1</flink.version>-->
<!--<scala.binary.version>2.12</scala.binary.version>-->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-clients_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>

集成kafka

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>

日志

Logging-4j

<!--<log4j.version>2.12.1</log4j.version>-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${log4j.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>${log4j.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>${log4j.version}</version>
</dependency>

配置

SpringBoot項目配置文件application.yml

# 運行端口
server:
  port: 9527
spring:
#  激活的環(huán)境
  profiles:
    active: dev
  application:
    name: reimbursementSystem
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  datasource:
#    druid:
#      driver-class-name: com.mysql.cj.jdbc.Driver
#      url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
#      username: root
#      password: 123456
#      maxActive: 100
#      initialSize: 10
#   spring 默認的連接池
    url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

添加redis

redis:
    host: localhost
    port: 6379
    password: 123456
    database: 0

添加mybatis-plus

mybatis-plus:
  configuration:
    #在映射實體或者屬性時,將數(shù)據(jù)庫中表名和字段名中的下劃線去掉,按照駝峰命名法映射
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID

添加Mybatis

mybatis:
  mapper-location: classpath:/mapper/*.xml

shiro

shiro:
  loginUrl: /user/login

Swagger文檔配置SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    /**
     * 配置docket以配置Swagger具體參數(shù)
     * @return 返回一個docket配置參數(shù)
     */
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.group.reimbursement.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * Api的信息
     * @return ApiInfo
     */
    private ApiInfo apiInfo(){
        Contact contact = new Contact("張連勇、林良懷","https://blog.csdn.net/zly03?spm=1000.2115.3001.5343","lyzhang@163.com");
        return new ApiInfoBuilder()
                .title("發(fā)票管理系統(tǒng)")
                .version("1.0.2")
                .description("接口文檔")
                .contact(contact)
                .build();
    }

}

添加靜態(tài)資源過濾,如果有添加過濾器和攔截器,也需要在攔截器或者過濾器中放行相關的url*

/**
     * 設置靜態(tài)資源
     * @param registry ResourceHandlerRegistry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("開始進行靜態(tài)資源映射...");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

相關的url

.excludePathPatterns("/doc.html/**")
.excludePathPatterns("/swagger-ui.html/**")
.excludePathPatterns("/webjars/**")

mybatis-plus 配置

/**
 * 配置分頁插件
 *
 *@author zhanglianyong
 *@date 2022/8/5
 */
@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

Response 常用的響應封裝類

/**
 * 返回對象
 *
 *@author zhanglianyong
 *@date 2022/8/5
 */
@Data
@ApiModel("統(tǒng)一返回類")
public class Response<T>  implements Serializable {

    /**
     * 編碼:1成功,0和其它數(shù)字為失敗
     */
    @ApiModelProperty("狀態(tài)碼,統(tǒng)一200為成功")
    private Integer code;
    /**
     * 錯誤信息
     */
    @ApiModelProperty("返回信息,錯誤信息")
    private String message;
    /**
     * 數(shù)據(jù)
     */
    @ApiModelProperty("返回數(shù)據(jù)")
    private T data;
    /**
     * 動態(tài)數(shù)據(jù)
     */
    @ApiModelProperty("動態(tài)數(shù)據(jù)")
    private Map<String, Object> map = new HashMap<>();

    public Response() {
    }

    public static <T> Response<T> successWithMessage(String message) {
        Response<T> r = new Response<>();
        r.message = message;
        r.data = null;
        r.code = HttpStatus.OK.value();
        return r;
    }

    public static <T> Response<T> success(T object) {
        Response<T> r = new Response<>();
        r.data = object;
        r.code = HttpStatus.OK.value();
        return r;
    }

    public static Response<String> buildJsonString(Object object) throws JsonProcessingException {
        String jsonString = toJsonString(object);
        return Response.success(jsonString);
    }

    private static String toJsonString(Object object) throws JsonProcessingException {

            ObjectMapper mapper = new ObjectMapper();
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            mapper.setDateFormat(df);
            return mapper.writeValueAsString(object);
    }

    public static <T> Response<T> error(String message, int code) {
        Response<T> r = new Response<>();
        r.message = message;
        r.code = code;
        return r;
    }

    public static <T> Response<T> common(int code, String message) {
        Response<T> result = new Response<>();
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public Response(Integer code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

}

BaseException 基礎異常類BaseException

/**
 * 基礎異常
 *
 *@author zhanglianyong
 *@date 2022/8/4
 */
public class BaseException extends RuntimeException {

    private static final long serialVersionUID = 1L;

    /**
     * 編碼:1成功,0和其它數(shù)字為失敗
     */
    private Integer code;
    /**
     * 錯誤信息
     */
    private String message;

    public BaseException(String message) {
        this.message = message;
    }

    public BaseException(String message, Throwable cause, Integer code, String message1) {
        super(message, cause);
        this.code = code;
        this.message = message1;
    }

    public BaseException(String message, Integer code) {
        this.code = code;
        this.message = message;
    }
    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    @Override
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

到此這篇關于SpringBoot項目依賴和配置的文章就介紹到這了,更多相關SpringBoot項目依賴內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何通過??低曉O備網(wǎng)絡SDK進行Java二次開發(fā)攝像頭車牌識別詳解

    如何通過海康威視設備網(wǎng)絡SDK進行Java二次開發(fā)攝像頭車牌識別詳解

    這篇文章主要介紹了如何通過??低曉O備網(wǎng)絡SDK進行Java二次開發(fā)攝像頭車牌識別的相關資料,描述了如何使用海康威視設備網(wǎng)絡SDK進行車牌識別和圖片抓拍的開發(fā)流程,包括遇到的問題及其解決辦法,需要的朋友可以參考下
    2025-02-02
  • java擴展Hibernate注解支持java8新時間類型

    java擴展Hibernate注解支持java8新時間類型

    這篇文章主要介紹了java擴展Hibernate注解支持java8新時間類型,需要的朋友可以參考下
    2014-04-04
  • MyBatis Plus Mapper CRUD接口測試方式

    MyBatis Plus Mapper CRUD接口測試方式

    在數(shù)據(jù)庫管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value2
    2024-09-09
  • Spring init-method與destroy-method屬性的用法解析

    Spring init-method與destroy-method屬性的用法解析

    這篇文章主要介紹了Spring init-method與destroy-method屬性的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor

    Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor

    本文介紹了Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor,手動方式使用ThreadPoolExecutor創(chuàng)建線程池和使用Executors執(zhí)行器自動創(chuàng)建線程池,下文更多相關內容需要的小伙伴可以參考一下
    2022-05-05
  • SpringBoot創(chuàng)建監(jiān)聽器的方法示例

    SpringBoot創(chuàng)建監(jiān)聽器的方法示例

    在Java中,監(jiān)聽器(Listener)是一種設計模式,它允許對象在 特定事件 發(fā)生時 自動執(zhí)行某些操作,這種設計模式通常用于實現(xiàn) 發(fā)布-訂閱模型,本文給大家介紹了SpringBoot創(chuàng)建監(jiān)聽器的方法示例,感興趣的通過可以參考一下
    2024-04-04
  • Java設計模式之解釋器模式_動力節(jié)點Java學院整理

    Java設計模式之解釋器模式_動力節(jié)點Java學院整理

    解釋器模式是一個比較少用的模式,本人之前也沒有用過這個模式。下面我們就來一起看一下解釋器模式
    2017-08-08
  • Java源碼角度分析HashMap用法

    Java源碼角度分析HashMap用法

    這篇文章主要介紹了Java源碼角度分析HashMap用法,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • java實現(xiàn)單機版五子棋小游戲

    java實現(xiàn)單機版五子棋小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)單機版五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Java最長公共子序列示例源碼

    Java最長公共子序列示例源碼

    這篇文章主要介紹了Java最長公共子序列的定義及示例源代碼,具有一定參考價值,需要的朋友可以看下。
    2017-09-09

最新評論

汽车| 重庆市| 青州市| 凤翔县| 进贤县| 武威市| 茶陵县| 蒙阴县| 额敏县| 康平县| 霍邱县| 明溪县| 辽宁省| 杭锦后旗| 平舆县| 安西县| 邯郸县| 富川| 五台县| 西乡县| 隆尧县| 滦平县| 类乌齐县| 辽阳县| 闵行区| 杨浦区| 三原县| 封丘县| 微山县| 太仓市| 加查县| 云和县| 永仁县| 苗栗县| 筠连县| 新余市| 高陵县| 武义县| 邻水| 新巴尔虎左旗| 广州市|