赞
踩
今天看了一篇博客Spring Boot 把 Maven 干掉了!就一直想自己构建下。
进入这个网站生成SpringBoot的Demo项目。
如下:
导出项目之后解压放到某个目录下然后倒入IDEA。
这几个就包含了很多很多的核心依赖基本导入之后,我们不需要太关心Spring相关的东西,如果要用第三方直接依赖,具体见下文的build.gradle。
选择open,然后选择你的解压好的项目,一般解压好就叫demo,冲突的话自己改名。
然后选择一个JDK环境就OK了直接下一步。
图中右下角的问题是因为我的gradle版本太高了我的idea版本太低导致的,
但是设置的版本太低或者不是指定版本的就会报错如下图:
所以为了避免上边的问题我们设置5.6.1,设置完之后,会出现下图中显示的右下角的弹窗,选择Enable Auto-Import。
然后我们选择Build -> Build Project
我们需要打开 module settings里边选择我们已经安装的JDK。
先选中项目根目录,Command + 下键或者我的Fn + F4都可以打开。
然后再次选择Build -> Build Project
大部分项目配置我们再生成的时候已经选择好了。
build.gradle内容
plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java' } group = 'com.lyd' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3' implementation 'com.alibaba:druid-spring-boot-starter:1.1.10' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'mysql:mysql-connector-java' annotationProcessor 'org.projectlombok:lombok' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } } test { useJUnitPlatform() }
application.properties文件中的内容
#datasource
spring.datasource.url=jdbc:mysql://localhost:3306/credit?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#set tomcat port context
#端口被占用的话就换一个
server.port=8082
server.servlet.context-path=/demo
在新版当中server.context-path已经失效了设置了统一的访问路径之后不生效,要修改成server.servlet.context-path。
application.yml文件中的内容
#spring的配置 spring: datasource: name: sqldata url: jdbc:mysql://localhost:3306/credit?characterEncoding=UTF-8 #配置在 配置中心 username: root #配置在 配置中心 password: 123456 #配置在 配置中心 # 使用druid数据连接池 type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 'x' FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 aop: proxy-target-class: true #把内置的tomcat 参数 配置在 properties文件中,以便日后使用配置中心 # #tomcat容器的配置 #server: # context-path: /lyd # port: 8082 #mybatis的配置 mybatis: type-aliases-package: com.lyd.demo.mapper mapper-locations: classpath*:mappings/**/*.xml
SpringBoot的引导配置
我们可以参考step2中的代码:
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/hello") public String hello(@RequestParam(value = "name", defaultValue = "World") String name) { return String.format("Hello %s!", name); } }
我们是gradle项目,我们使用
./gradlew rootRun
等进度到75%会卡住没关系,当我们看到下图没有报错没有端口占用,就是成功了:
接下来我们访问http://localhost:8082/demo/hello?name=xxxxxx
成功!
看了很多停止服务的比较简单的就是,查看服务进程ID直接执行:
kill -9 [pid] 如:kill -9 800
那我们如何查看pid呢?
第一种:
ps -ef | grep [Application名称,只要能查到就行]
如:ps -ef | grep DemoApplication
然后可以看到下图的第二个数字就是进程Id;然后执行kill -9 1268
第二种:
我们在执行./gradlew bootRun的时候会看到下图所示:
有个进程ID是不是和我们第一种方式查到的一致。
好了我们执行kill -9 1268
还有一点就是我们杀死之后重新执行./gradlew bootRun启动服务的时候要多等会可能启动没那么快,导致我们一直请求404。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。