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名。