IDEA搭建SpringBoot项目环境


一、磨唧磨唧

我记得我之前有写,然而翻遍所有记录实际没有,所以是否存在另一个时空?

配置文件比较牛,是可以在Controller直接返回jsp页面,Controller中return字串自带后缀.jsp

关于这样配置需要返回值的ajax怎么传值,用的是out.print就行。利大于弊。

二、具体步骤

1,idea首页查一下Configure-Settings,本地maven配置路径

 

2,Create New Project

3,我选择手动配置,默认下一步

4,起个项目名,finish

5,配置pom.xml

 配置语句:

    
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.3.5.RELEASEversion>
        <relativePath/>
    parent>

    
    <properties>
        <java.version>1.8java.version>
        
        <mybatisplus.version>3.3.2mybatisplus.version>
        
        <druid.version>1.1.22druid.version>
        <mybatis-spring.version>2.1.2mybatis-spring.version>
        
        
    properties>

    <dependencies>

        
        <dependency>
            <groupId>cn.hutoolgroupId>
            <artifactId>hutool-allartifactId>
            <version>5.4.7version>
        dependency>

        
        <dependency>
            <groupId>commons-codecgroupId>
            <artifactId>commons-codecartifactId>
            <version>1.14version>
        dependency>
        

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <optional>trueoptional>
            <scope>runtimescope>
        dependency>
        

        
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-starter-loggingartifactId>
                exclusion>
            exclusions>
            <version>${mybatis-spring.version}version>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-aopartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-starter-tomcatartifactId>
                exclusion>
            exclusions>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-actuatorartifactId>
        dependency>
        

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-log4j2artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>log4j-slf4j-implartifactId>
                    <groupId>org.apache.logging.log4jgroupId>
                exclusion>
                <exclusion>
                    <artifactId>jul-to-slf4jartifactId>
                    <groupId>org.slf4jgroupId>
                exclusion>
            exclusions>
        dependency>
        

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>${mysql.version}version>
        dependency>
        

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druid-spring-boot-starterartifactId>
            <version>${druid.version}version>
        dependency>
        

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>1.2.68version>
        dependency>
        

        
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plusartifactId>
            <version>${mybatisplus.version}version>
            <exclusions>
                <exclusion>
                    <artifactId>mybatis-springartifactId>
                    <groupId>org.mybatisgroupId>
                exclusion>
                <exclusion>
                    <artifactId>mybatisartifactId>
                    <groupId>org.mybatisgroupId>
                exclusion>
            exclusions>
        dependency>
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>${mybatisplus.version}version>
        dependency>
        

        
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <optional>trueoptional>
        dependency>
        

        
        <dependency>
            <groupId>org.apache.tomcat.embedgroupId>
            <artifactId>tomcat-embed-jasperartifactId>
            <scope>providedscope>
        dependency>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
        dependency>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <scope>providedscope>
        dependency>
        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>javax.servlet.jsp-apiartifactId>
            <version>2.3.1version>
        dependency>
        

        
        <dependency>
            <groupId>com.gitee.qdbp.thirdpartygroupId>
            <artifactId>ueditorartifactId>
            <version>1.4.3.3version>
        dependency>
        

        
        <dependency>
            <groupId>org.apache.httpcomponentsgroupId>
            <artifactId>httpclientartifactId>
            <version>4.3.5version>
        dependency>
        

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-mailartifactId>
        dependency>

        
        <dependency>
            <groupId>com.belerwebgroupId>
            <artifactId>pinyin4jartifactId>
            <version>2.5.0version>
        dependency>
        <dependency>
            <groupId>org.apache.poigroupId>
            <artifactId>poi-ooxmlartifactId>
            <version>4.1.2version>
        dependency>
    dependencies>

    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <configuration>
                    
                    <fork>falsefork>
                configuration>
            plugin>
        plugins>
    build>

6,pom配置语句写好后,刷新一下

7,逐级把这些文件建出

8,项目配置在Web上

在idea中点file-之后根据图片操作

点开那个小文件标志,逐级找到webapp

之后全点ok完成,webapp出现蓝点证明项目配置在web上很成功

9,在resources下建一个mapping文件夹,两个配置文件

 application.yml

server:
  port: 8888
  servlet:
    context-path: /
    jsp:
      init-parameters: true
  tomcat:
    uri-encoding: UTF-8
    basedir: /home/tmp

spring:
  application:
    name: datesource
  mvc:
    view:
      # jsp前缀
      prefix: /WEB-INF/pages/
      # jsp后缀
      suffix: .jsp
      #配置静态资源访问路径
      static-path-pattern: /webapp/**
      #static-path-pattern=/webapp/**
  # jackson时间格式化
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss
  servlet:
    upload:
      drive:
        letter: D
      base-path: upload
      extend-path:
        head-path: head
        video-path: video
        pic-path: pic
        ppt-path: ppt
        word-path: word
        excel-path: excel
        other-path: other
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
      resolve-lazily: false
      enabled: true
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource      #当前数据源操作类型
    driver-class-name: com.mysql.cj.jdbc.Driver       #mysql驱动包
    url: jdbc:mysql://localhost:3306/springboot_demo?serverTimezone=UTC&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false#这里改数据库名
    username: root
    password: root
    druid:
      filters: stat
      initial-size: 2
      max-active: 300
      max-wait: 60000
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      test-on-borrow: false
      test-while-idle: true
      test-on-return: false
      pool-prepared-statements: false
      max-pool-prepared-statement-per-connection-size: 200
      validation-query: SELECT 1
      filter:
        log4j2:
          enabled: true



mybatis-plus:
  mapper-locations: classpath:mapping/*.xml  #注意:一定要对应mapper映射xml文件的所在路径
  type-aliases-package: com.demo.model  # 注意:对应实体类的路径。改这里,com.demo.model改成当前项目实体类model目录
logging:
  config: classpath:log4j2.xml
  level:
    cn.jay.repository: trace
#pagehelper分页插件
#pagehelper:
#  helperDialect: mysql
#  reasonable: true
#  supportMethodsArguments: true
#  params: count=countSql

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>


<configuration monitorInterval="5">
    

    
    <Properties>
        
        
        <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%-5level} [%t] %highlight{%c{1.}.%M(%L)}: %msg%n" />
        
        <property name="FILE_PATH" value="d:\log" />
        <property name="FILE_NAME" value="dev" />
    Properties>

    <appenders>

        <console name="Console" target="SYSTEM_OUT">
            
            <PatternLayout pattern="${LOG_PATTERN}"/>
            
            <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
        console>

        
        <File name="Filelog" fileName="${FILE_PATH}/test.log" append="false">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        File>

        
        <RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
            
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
            <Policies>
                
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="10MB"/>
            Policies>
            
            <DefaultRolloverStrategy max="15"/>
        RollingFile>

        
        <RollingFile name="RollingFileWarn" fileName="${FILE_PATH}/warn.log" filePattern="${FILE_PATH}/${FILE_NAME}-WARN-%d{yyyy-MM-dd}_%i.log.gz">
            
            <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
            <Policies>
                
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="10MB"/>
            Policies>
            
            <DefaultRolloverStrategy max="15"/>
        RollingFile>

        
        <RollingFile name="RollingFileError" fileName="${FILE_PATH}/error.log" filePattern="${FILE_PATH}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd}_%i.log.gz">
            
            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
            <Policies>
                
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="10MB"/>
            Policies>
            
            <DefaultRolloverStrategy max="15"/>
        RollingFile>

    appenders>

    
    
    <loggers>

        <logger name="druid.sql.Statement" level="DEBUG" additivity="false">
            <appender-ref ref="Console"/>
            <appender-ref ref="Filelog"/>
        logger>
        
        <logger name="org.mybatis" level="info" additivity="false">
            <AppenderRef ref="Console"/>
            <appender-ref ref="Filelog"/>
        logger>
        
        
        <Logger name="org.springframework" level="info" additivity="false">
            <AppenderRef ref="Console"/>
        Logger>

        <root level="DEBUG">
            <appender-ref ref="Console"/>
            <appender-ref ref="Filelog"/>
            <appender-ref ref="RollingFileInfo"/>
            <appender-ref ref="RollingFileWarn"/>
            <appender-ref ref="RollingFileError"/>
        root>
    loggers>

configuration>

10,在java下建包,建一个主类

package com.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyMain {
    //主方法
    public static void main(String[] args) {
        SpringApplication.run(MyMain.class,args);//MyMain是当前类名
    }

}

11,在com.demo下建Controller包,建一个Controller类

简单写个sing测试

12,上一步返回的路径是指定在pages下,我们建一个jsp

三、使用运行

鼠标放在主类里面,右键运行

 当控制台打印日志,最后显示运行秒数之后就可以在浏览器访问了。

浏览器访问方式为:http://127.0.0.1:端口号/方法value名。