导航:首页 > 源码编译 > 编译引用springboot

编译引用springboot

发布时间:2022-09-09 06:36:00

⑴ springboot配置文件引用pom文件的变量出错

  1. 这不是设置端口的吗。直接给字符串端口号。

我也是接触spring boot没多久。

⑵ 如何使用spring boot快速构建后台

Spring Boot建议使用Maven或Gradle,本文以Maven为例。
首先创建一个一般的Maven项目,有一个pom.xml和基本的src/main/java结构。
在pom.xml中写上如下内容:
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.github.abel533</groupId>
<artifactId>spring-boot</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

首先是增加了<parent>
增加父pom比较简单,而且spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>版本号。
使用父pom虽然简单,但是有些情况我们已经有父pom,不能直接增加<parent>时,可以通过如下方式:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.2.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

java.version属性
上面pom.xml虽然没有出现这个属性,这里要特别提醒。
Spring默认使用jdk1.6,如果你想使用jdk1.8,你需要在pom.xml的属性里面添加java.version,如下:
<properties>
<java.version>1.8</java.version>
</properties>123123

添加spring-boot-starter-web依赖
Spring通过添加spring-boot-starter-*这样的依赖就能支持具体的某个功能。
我们这个示例最终是要实现web功能,所以添加的是这个依赖。
更完整的功能列表可以查看:using-boot-starter-poms
添加spring-boot-maven-plugin插件
该插件支持多种功能,常用的有两种,第一种是打包项目为可执行的jar包。
在项目根目录下执行mvn package将会生成一个可执行的jar包,jar包中包含了所有依赖的jar包,只需要这一个jar包就可以运行程序,使用起来很方便。该命令执行后还会保留一个XXX.jar.original的jar包,包含了项目中单独的部分。
生成这个可执行的jar包后,在命令行执行java -jar xxxx.jar即可启动项目。
另外一个命令就是mvn spring-boot:run,可以直接使用tomcat(默认)启动项目。
在我们开发过程中,我们需要经常修改,为了避免重复启动项目,我们可以启用热部署。
Spring-Loaded项目提供了强大的热部署功能,添加/删除/修改 方法/字段/接口/枚举 等代码的时候都可以热部署,速度很快,很方便。
想在Spring Boot中使用该功能非常简单,就是在spring-boot-maven-plugin插件下面添加依赖:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>12345671234567

添加以后,通过mvn spring-boot:run启动就支持热部署了。
注意:使用热部署的时候,需要IDE编译类后才能生效,你可以打开自动编译功能,这样在你保存修改的时候,类就自动重新加载了。
创建一个应用类
我们创建一个Application类:
@RestController
@EnableAutoConfiguration
public class Application {

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

@RequestMapping("/now")
String hehe() {
return "现在时间:" + (new Date()).toLocaleString();
}

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

}

注意:
Spring Boot建议将我们main方法所在的这个主要的配置类配置在根包名下。

⑶ 自定义花里胡哨的banner.txt在SpringBoot编译和运行显示

我们注意到springboot项目启动时,控制台会打印自带的banner,如何改成自己秀一把才符合程序员的个性。

只需要在springboot项目的resources文件夹下面创建一个banner.txt文件,springboot启动的时候会去加载这个文件,项目结构:

http://www.network-science.de/ascii/

banner.txt配置

${AnsiColor.BRIGHT_RED} :设置控制台中输出内容的颜色

${application.version} :用来获取 MANIFEST.MF 文件中的版本号

${application.formatted-version} :格式化后的 ${application.version} 版本信息

${spring-boot.version} :Spring Boot的版本号

${spring-boot.formatted-version} :格式化后的 ${spring-boot.version} 版本信息

spring对banner的配置,来自springboot参考手册,Common application properties: https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#common-application-properties

⑷ 如何构建spring boot

Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring
MVC的Web应用和REST服务开发。

Spring
4倡导微服务的架构,针对这一理念,近来在微博上也有一些有价值的讨论,如这里和这里。微服务架构倡导将功能拆分到离散的服务中,独立地进行部署,Spring
Boot能够很方便地将应用打包成独立可运行的JAR包,因此在开发模式上很契合这一理念。目前,Spring
Boot依然是0.5.0的里程碑版本,因此相关的文档尚不完善,本文将会以一个简单的样例来介绍基于这个项目的开发过程。

要Spring
Boot进行功能开发,需要使用Gradle或者Maven作为构建工具。在本例中,我们会使用Eclipse和Maven插件进行开发。要使用Spring
Boot,首先创建一个Maven工程,并修改Maven主要的配置文件pom.xml,如下所示:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>0.5.0.M7</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring3</artifactId>
</dependency>
</dependencies>

<properties>
<start-class>com.levin.Application</start-class>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>spring-milestone</id>
<url>http://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>spring-milestone</id>
<url>http://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>

在上面的配置中,需要将工程的parent设置为spring-boot-starter-parent,并添加对spring-boot-starter-web的依赖,这样我们就无需设置各个依赖项及其版本信息了。并且在构建中要声明使用spring-boot-maven-plugin这个插件,它会对Maven打包形成的JAR进行二次修改,最终产生符合我们要求的内容结构。

在我们的应用中将要发布一个REST服务,显示一个基本的用户信息,首先定义一个简单的模型类:

package com.levin;

public class Person {
private String name;
private String email;

public Person(String name, String email) {
this.name = name;
this.email = email;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}

}

接下来,我们需要声明一个Spring MVC的Controller,响应对实体的请求:
@Controller
public class ShowPersonController {
@RequestMapping("/showPerson")
public @ResponseBody Person showPerson() {
return new Person("levinzhang","[email protected]");
}
}

这个类与我们在使用Spring MVC定义Controller时并无任何差别。接下来,我们需要声明一个主类启动这个应用程序:
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

这个类的main方法中使用了SpringApplication帮助类,并以Application这个类作为配置来启动Spring的应用上下文。在这个类中使用了ComponentScan以及EnableAutoConfiguration注解,其中ComponentScan注解会告知Spring扫描指定的包来初始化Spring
Bean,这能够确保我们声明的Bean能够被发现。EnableAutoConfiguration将会启动自动配置模式,在我们的配置中会将对Tomcat的依赖级联进来,因此在应用启动时将会自动启动一个嵌入式的Tomcat,因为在样例中使用了Spring
MVC,所以也会自动注册所需的DispatcherServlet,这都不需要类似web.xml这样的配置。

在Eclipse中要运行这个应用的话,可以直接以Java
Application的形式来运行这个main函数,此时会启动应用,我们在浏览器中可以看到如下的运行效果,这就是我们想要的REST服务:

在开发调试完成之后,可以将应用打成JAR包的形式,在Eclipse中可以直接使用Maven插件的package命令,最终会形成一个可运行的JAR包。我们使用java
–jar命令就可以运行这个JAR包了。所呈现出的效果与在调试期是一样的。现在看一下这个JAR包解压后的目录结构:

这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌入式Tomcat,正是使用它,才能发布服务和访问Web资源。除了我们编写的源码所编译形成的CLASS以外,在org目录下还有许多Spring所提供的CLASS,正是依赖这些CLASS,才能够加载位于lib目录下JAR中的类。这样的加载机制与在OSGi
bundle中声明Bundle-Classpath很类似,不过在OSGi中会由容器来负责加载指定路径下的类。这大致阐述了这样一个JAR包能够发布服务的原因。

如果我们想要使用HTML、JSP等Web资源的话,在Controller中直接返回对应的视图就可以了。

如果我们想要将这个JAR包转换成可以在Servlet容器中部署的WAR的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,此时我们需要声明这样一个类:
public class HelloWebXml extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}

}

这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似,只不过在这里不需要编写额外的XML文件了。

如果要将最终的打包形式改为WAR的话,还需要对pom.xml文件进行修改,除了需要将packaging的值修改为war以外,还需要对依赖进行适当的配置(这一部分在Spring
Boot的样例和文档中均未提及,提醒大家注意):
<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>

在这里需要移除对嵌入式Tomcat的依赖,这样打出的WAR包中,在lib目录下才不会包含Tomcat相关的JAR包,否则将会出现启动错误。另外,在移除对Tomcat的依赖后,为了保证编译正确,还需要添加对servlet-api的依赖,因此添加如下的配置:

<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.42</version>
<scope>provided</scope>
</dependency>

在这里将scope属性设置为provided,这样在最终形成的WAR中不会包含这个JAR包,因为Tomcat或Jetty等服务器在运行时将会提供相关的API类。此时,执行mvn
package命令就会得到一个WAR文件,我们可以直接将其放到Tomcat下运行(需要7.0.42版本以上)。

以上介绍了基于Spring Boot开发应用的过程,目前它的文档尚不完善,但是在GitHub上有不少的样例,包括与Spring
Data集成访问数据库(关系型以及非关系型)、安全、WebSocket等,读者感兴趣可以下载运行,需要注意的是有些样例中使用的是0.5.0.M6版本,这个版本有问题,运行时会出错,建议手动修改为0.5.0.M7或快照版本。

基于以上的介绍,希望读者能够对Spring
Boot这个新项目有所了解。它简化了JAR包管理和相关基础设施环境的配置,能够帮助我们快速开发Web应用或构建REST服务,希望它能够尽快完善成熟,更多地用于实践,提升开发效率。

⑸ spring boot引入jar包后自动生成了一个空的xml文件

解决方法如下:
1.项目下面有pom.xml文件,要在pom文件下添加2.这个${basedir}的意思是本地路径添加以上代码后即可。还有就是,在别的服务下面的子pom.xml也要添加以上代码,但不同的是,要看好路径。
也就是/?不一样的,自己看看你的文件目录,反正不报错即可。
此功能是每次运行maven工程的时候,会默认编译所有的模块(效率会慢)。

⑹ spring boot编译赋值配置


_穑鹤越ㄎ募渲谩?
__ar包。
_ML文件是SpringBoot程序中最为重要的核心配置文件,配置文件本来就很多,在加上赋值,就让可读性变差,另外建立文件,可以分类,更易管理。
__esources下创建properties文件夹管理配置文件,在properties目录下创建测试文件student.properties,编辑StudentController类,输入localhost:8080/student
?

⑺ 如何统一引入Spring Boot的版本

引入SpringBoot版本总共有2种方式

第一:继承spring-boot-starter-parent项目,配置代码如下

org.springframework.boot
spring-boot-starter-parent
2.1.13.RELEASE

第二:导入spring boot 依赖清单BOM,代码如下

org.springframework.boot
spring-boot-dependencies
2.1.13.RELEASE
pom
import

这两者方式,一般我们在项目中都采用第一种!实在不懂就去黑马程序员官网视频库看免费视频。

⑻ 写了一个springboot入门程序,然后运行时发现不能运行,编译都不通过,程序写的没有问题,不知道怎么回事

spring boot配置开发模式为什么启动会有错误 书写程序时应遵循的规则 从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则: 1.一个说明或一个语句占一行。 2.用{} 括起来的部分,通常表示了程序的某一层次结构。

阅读全文

与编译引用springboot相关的资料

热点内容
程序员职业未来 浏览:674
怎么找程序员做网站 浏览:614
pdf转换成xps 浏览:84
如何查看服务器登录的密码是什么原因 浏览:451
x21加密的照片怎么找 浏览:780
天干地支的算法今年是什么年 浏览:611
方舟怎么免费开启服务器 浏览:978
云服务器比价售价 浏览:104
android添加modules 浏览:991
pdf转cad格式转换器 浏览:363
华硕电脑磁盘加密怎么解决 浏览:266
python随机种子状态释放 浏览:11
51单片机做计数器 浏览:901
picc编译器过期 浏览:735
在抖音收藏怎么设置加密 浏览:394
外地云服务器如何注册 浏览:860
遮瑕膏解压 浏览:189
近的python少儿编程课 浏览:490
php当天时间戳 浏览:202
手机地图app哪个好用 浏览:318