當前位置:首頁 » 網頁前端 » springboot命令行腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

springboot命令行腳本

發布時間: 2022-02-04 21:48:30

A. bat腳本執行java程序, 有時候會卡主, 需要按enter鍵才能繼續

是不是運行過程中,不小心把滑鼠點到了命令行窗口裡面?

B. Springboot jar包後台啟動後,日誌並沒有按天輸出,這是為什麼

又兩種方式一個是通過application.properties 配置文件的方式來配置。 另一種是通過logback.xml配置文件的方式進行配置。 首先要說的是:application.properties 和logback.xml這兩個配置文件都是放在 src/main/resources 目錄下的。

C. spring boot 使用腳本啟動.bat怎麼寫

Spring Boot 是 Spring 產品中一個新的子項目,致力於簡便快捷地搭建基於 Spring 的獨立可運行的應用。大多數的 Spring Boot 應用只需要非常少的 Spring 配置。
你能夠使用 Spring Boot 創建 Java 應用並通過 java -jar 來運行或者創建傳統的通過 war 來部署的應用。Spring Boot 也提供了一個命令行工具來運行 spring 腳本。
Spring Boot 的目標是:
快速開發基於 Spring 的應用
開箱即用的微服務
提供一些大型項目常用的非功能性特性,例如:嵌入式服務、安全、監控、健康檢查、外部配置
不用生成代碼,沒有 xml 配置

D. springboot sh啟動腳本有問題

如果是設置問題就考慮進入電腦的控制面板查找對應的功能設置並進行調回
如果不知道該怎麼找就可以利用殺毒軟體來進行修復
一般殺毒軟體對於一些設置都有修復功能
考慮是系統文件問題或者是驅動問題
如果是這兩樣就需要排查
首先卸載驅動然後重裝(可以利用第三方軟體)
不行就需要系統重裝
還不行只能輕裝業人員來修修

E. spring boot 環境怎麼搭建

SpringBoot是Spring產品中一個新的子項目,致力於簡便快捷地搭建基於Spring的獨立可運行的應用。大多數的SpringBoot應用只需要非常少的Spring配置。你能夠使用SpringBoot創建Java應用並通過java-jar來運行或者創建傳統的通過war來部署的應用。SpringBoot也提供了一個命令行工具來運行spring腳本。SpringBoot的目標是:快速開發基於Spring的應用開箱即用的微服務提供一些大型項目常用的非功能性特性,例如:嵌入式服務、安全、監控、健康檢查、外部配置不用生成代碼,沒有xml配置

F. spring boot 怎麼添加listener

spring多年以來一直都是java平台開發web應用的主流技術,在標準的J2EE架構之外提供了一個輕量級的解決方案。雖然spring提供了很多功能,簡化了java平台的企業應用開發,降低了開發工作量,但相比較其它語言的一些框架(例如ruby on rails,python Django)來說,基於spring 的開發仍然比較復雜,尤其是新建一個項目時,需要進行各種配置,重復的工作量較大。

針對這個問題spring開源社區一直都在持續不斷地進行探索,提供相應的解決方案。

grails
使用groovy語言,封裝了spring,提供了一個高效的全棧框架,在開發效率方面可媲美ROR,但運行時性能比ROR要高很多。grails用戶群較大,目前開發社區比較活躍。

spring roo
在spring之上提供一個純java的封裝,使用到了osgi,aspectj等技術,提供類似ROR的開發模式,但未成功推廣,用戶不多,目前開發基本停滯。

spring-boot
spring-boot 是spring社區今年推出的一個新項目,其主要目的也是提高生產率,尤其是快速創建和運行一個spring 應用。

spring-boot 功能特性

spring-boot主要功能特性如下:

創建獨立運行的spring應用
使用spring-boot,可將整個spring應用打包為一個獨立的jar文件,內嵌tomcat或者jetty容器。通過 java -jar xxx.jar 即可運行,免去了部署到應用伺服器的步驟。

啟動器
針對典型的應用需求,提供了一些標準的啟動器配置,聲明對這些啟動器的依賴即可獲得相關功能。例如如果需要使用jpa進行數據訪問,僅需加入
${project.groupId}
spring-boot-starter-data-jpa

spring-boot會自動配置通過jpa進行數據訪問需要的bean。

自動配置spring
spring-boot會根據classpath包含的內容自動推測用戶的需求並自動配置。例如如果在classpath包含了hsqldb,並且用戶未配置資料庫連接,spring-boot將會配置一個hsqldb內存資料庫和數據源。

自動生成生產環境需要的特性
spring-boot能夠為應用自動加入一些典型的生產環境下的功能特性,例如:外部配置,安全,日誌,管理,審計等。

無代碼生成,無xml配置需求
spring-boot無代碼生成,所有的配置可通過代碼完成(spring 的javaconfig),不需要使用xml(雖然可以使用)。

spring-boot組件

spring-boot項目分為幾個不同的組件,下面是每個組件的說明

spring-boot
SpringBootApplication ,提供靜態方法,用於開發獨立運行的應用
嵌入容器配置,tomcat或者jetty
外部配置支持,從命令行,屬性文件讀取配置
spring context 的初始化

spring-boot-autoconfigure
自動配置框架:根據classpath推測用戶需要的功能並自動配置。例如如果在classpath 包含了 HSQLDB,並且沒有配置資料庫連接,spring-boot-autoconfig將自動配置一個內存資料庫。spring-boot-autoconfigure使用spring 的javaconfig功能,為一個 @Configuration 類加上 @Conditional註解,註解聲明的條件滿足時,配置就會生效。用戶可編寫自己的配置類對自動配置進行擴展。

spring-boot-starters
一組預定義的依賴,添加不同類型的應用功能。例如如果需要jpa數據訪問,加入 spring-boot-starter-data-jpa

spring-boot cli
一個命令行工具,可以直接運行一個groovy腳本作為spring 應用。例如以下groovy代碼定義
了一個spring mvc controller,通過運行 spring run HelloController.groovy 即可運行一個spring web 應用。
@Controller
class HelloController {

@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!"
}

}

groovy語言語法非常類似java語言,大部分代碼都可以直接拷貝使用。spring-boot cli提供的功能非常適用於快速原型開發,以及在開發環境中搭建測試/模擬伺服器等。(今年一個國人開發的開源項目 moco獲得了「 ke選擇獎」,moco的主要功能就是搭建測試/模擬伺服器,藉助於spring-boot cli,只需要用java語言,幾分鍾之內也可以搭建一個測試/模擬伺服器)

spring-boot-actuator
提供更多面向生產環境的支持,安全,日誌,管理,審計。

spring-boot-loader
使用java -jar xxx.jar 運行應用的實現,對打包文件格式進行了定義。一般通過gradle插件或者 maven插件使用。這兩個插件提供了在gradle和maven構建系統中使用spring-boot的功能。使用你的IDE創建一個普通的java 項目,加入這兩個插件即可在項目中引入spring-boot。下面是使用java語言開發的controller:
package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller

G. springboot mybatis 整合後怎麼答應輸出sql語句

  1. 需要配置log4j;

2. 在log4j.properties文件里增加以下配置;

12345678log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

H. spring-boot 需要啟動nginx嗎

在開發Spring Boot應用的過程中,Spring Boot直接執行public static void main()函數並啟動一個內嵌的應用伺服器(取決於類路徑上的以來是Tomcat還是jetty)來處理應用請求。對於生產環境,這樣的部署方式同樣有效,同時Spring Boot也支持傳統的部署方式——將war包放入應用伺服器中啟動運行。
內嵌應用伺服器
在使用Maven或Gradle構建Spring Boot應用的過程中,Spring Boot插件提供了巨大的幫助,除了生命各類預定義的依賴,它還能夠構建可以直接運行的jar包——包含了所有的依賴以及內嵌應用伺服器。應用的分發也就變得非常簡單,任何人拿到了這個jar包,只需要簡單運行java -jar your.jar就可以啟動應用,無需任何構建工具、安裝過程以及應用伺服器。
內嵌應用伺服器配置
在生產環境中,應用伺服器需要各類配置,Spring Boot本身提供了一種非常簡單的配置機制——application.properties:

server.port=8080 # 監聽埠
server.address= # 綁定的地址
server.session-timeout= #session有效時長
server.context-path= #默認為/
server.ssl.* #ssl相關配置

Tomcat
默認情況下,Spring Boot啟動的內嵌容器就是Tomcat,對於Tomcat有幾個非常重要的配置:

server.tomcat.basedir=/tmp

tomcat的baseDir,日誌、mp等文件都存在於這個目錄中,一般是系統的臨時文件夾/tmp,但也可以按照自己的需求變更位置。

server.tomcat.access-log-pattern= # log pattern of the access log
server.tomcat.access-log-enabled=false # is access logging enabled

這兩個配置打開Tomcat的Access日誌,並可以設置日誌格式。
Jetty
如果你不喜歡Tomcat,Jetty也是一個非常不錯的選擇。使用Jetty的方式也非常簡單——把tomcat依賴從Maven或Gradle中移除,加入Jetty內嵌容器的依賴:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependencies>

Java EE應用伺服器
除了內嵌容器的部署模式,Spring Boot也支持將應用部署至已有的Tomcat容器, 或JBoss, WebLogic等傳統Java EE應用伺服器。
以Maven為例,首先需要將<packaging>從jar改成war,然後取消spring-boot-maven-plugin,然後修改Application.java:

package demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {

public static void main(String[] args) {
SpringApplication.run(applicationClass, args);
}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(applicationClass);
}

private static Class<Application> applicationClass = Application.class;
}

接下來打包應用,將生成的war包放入應用伺服器目錄即可。
使用外部配置文件
在應用程序中有很多配置項,例如資料庫連接地址、日誌文件位置、應用伺服器配置等等。為了安全與靈活性,我們推薦將Spring Boot的配置文件放在生產環境的伺服器上,並嚴格控制訪問許可權。在運行應用時可以通過命令行參數指定配置文件:

java -jar location_of_your_jar_file.jar --spring.config.location=location_of_your_config_file.properties

這樣做的好處是:
配置位於生產環境中,資料庫連接等私密信息不容易泄露
靈活性強,同一份代碼(包括構建的jar包)可以應用於不同的環境配置(開發、測試、生產)
使用Profile區分環境
在某些情況下,應用的某些業務邏輯可能需要有不同的實現。例如郵件服務,假設EmailService中包含的send(String email)方法向指定地址發送電子郵件,但是我們僅僅希望在生產環境中才執行真正發送郵件的代碼,而開發環境里則不發送以免向用戶發送無意義的垃圾郵件。
我們可以藉助Spring的註解@Profile實現這樣的功能,這樣需要定義兩個實現EmailService借口的類:

@Service
@Profile("dev")
class DevEmailService implements EmailService {

public void send(String email) {
//Do Nothing
}
}

@Service
@Profile("prod")
class ProdEmailService implements EmailService {

public void send(String email) {
//Real Email Service Logic
}
}

@Profile("dev")表明只有Spring定義的Profile為dev時才會實例化DevEmailService這個類。那麼如何設置Profile呢?
在配置文件中指定
在application.properties中加入:

spring.profiles.active=dev

通過命令行參數

java -jar app.jar --spring.profiles.active=dev

以服務的形式運行應用
使用java命令運行應用非常簡單,但是通常我們都是通過ssh命令連接到伺服器並運行它,一旦ssh連接斷開,那麼由它fork的java子進程也就隨之銷毀了。所以我們必須藉助工具將應用作為服務運行在伺服器上:
Systemd
systemd 是Linux 下的一款系統和服務管理器。可以為Spring Boot應用編寫啟動腳本:

[Unit]
Description=Spring Boot Application

[Service]
ExecStart=/usr/bin/java -jar location_of_jar_file.jar --spring.config.location=location_of_config.properties --spring.profiles.active=profile
User=${your expected user}

[Install]
WantedBy=multi-user.target

Supervisord
Supervisord是用Python實現的一款非常實用的進程管理工具。可以為Spring Boot應用編寫:

[program:app]
command=/usr/bin/java -jar location_of_jar_file.jar --spring.config.location=location_of_config.properties --spring.profiles.active=profile
user=${your expected user}
autostart=true
autorestart=true
startsecs=10
startretries=3