SpringBoot

JEECG BOOT 低代码开发平台
Tomcat的bin文件夹startup.bat启动需要设置JAVA_HOME环境变量

1、gradle添加依赖

compile group: ‘org.springframework.boot’, name: ‘spring-boot-starter-web’, version: ‘2.3.4.RELEASE’
或 compile(‘org.springframework.boot: spring-boot-starter-web: 2.3.4.RELEASE’)

thymeleaf在springboot 2.X使用时,也需要添加spring-boot-starter-thymeleaf

2、pom.xml文件

继承、依赖、插件

3、配置文件

1 application配置文件

用于自动化配置
application.properties(server.port=8180,高优先级) 或 application.yml

server:
  port: 8188

使用server.port=8080 解决了端口占用问题
加载顺序:项目根目录的config子目录 > 项目根目录中 > resources即classpath下的config子目录 > resources
占位符 ${ }

server:
  port: ${random.int(1024,3000)}

2 bootstrap配置文件

bootstrap是应用程序的父上下文,加载优先于application。是spring应用程序外部属性的来源,默认不能被本地相同配置覆盖

4. 打包部署

修改本地gradle,distributionUrl=file:///E:/data/gradle-5.2.1-bin.zip

普通非springboot项目,gradle打jar包后,运行jar包需要在jar包的MANIFEST.MF中添加
Main-Class: com.demo.Main (后面为启动类(含包名),中间有空格)

1. 打jar包

在build.gradle 里面添加这段构建打包配置,即可打出来一个可执行的jar包。

//构建打包的配置
jar {
    //遍历依赖,追加到someStirng上
    String someString = ''
    configurations.runtime.each {someString = someString + " lib//"+it.name}
    //指定项目清单
    manifest {
        attributes 'Main-Class': 'com.it.MainApp' //指定启动类
        attributes 'Class-Path': someString  //指定依赖
    }
}

//指定编码类型
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}


//拷贝jar ,把依赖都放到build/libs/lib中
task copyJar(type:Copy){
    from configurations.runtime
    into ('build/libs/lib')
}
//构建一个自定义任务release , dependsOn 表示它依赖两个子任务 build 和 copyJar
task release(dependsOn: [build,copyJar]){
    
}
点击gradle--Tasks--other--release ,生成jar包

2. 部署云服务器

  1. 上传jar包到 服务器
  2. 使用java -jar 运行即可 ,具体可以参照下面的命令
Linux 运行jar包命令如下:

方式一:

java -jar shareniu.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

那如何让窗口不锁定?

方式二

java -jar shareniu.jar &
&代表在后台运行。

特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

继续改进,如何让窗口关闭时,程序仍然运行?

方式三

nohup java -jar shareniu.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

方式四

nohup java -jar shareniu.jar >temp.txt &
解释下 >temp.txt

command >out.file

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

查看端口备哪个进程占用
netstat -lnp|grep 8081

注意:

  1. 代码没有放在包里, 入口类一定要在包里面。 入口类放在根包

    com.it / MainApp

    App

  2. 未来的所有代码都放在入口类包下的子包里面。

    com.it.controller

    com.it.service

    com.it.util

  3. 为什么一定要这么放。

    有原因的。因为@SpringBootApplication 这个注解会扫描入口类所在包以及它的子包所有类,以便识别这些类上面是不是有注解。 @Controller | @Service | @Repository …

5. SpringDataJpa

  • 配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/day11a
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 自动建表 update:表示有表则直接使用,无表就新建
spring.jpa.hibernate.ddl-auto=update

# 表示在操作时,输出sql语句
spring.jpa.show-sql=true
  • 代码
@Repository
public interface IPersonDao extends JpaRepository<Person,Integer> {

   //自定义一个方法
   Person findByNameAndSex(String name,String sex);

   @Query("from Person  where  id= ?")
   Person selectPerson(int id);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值