在本文中,您将会了解到关于目标是将SpringBootWeb应用程序中的服务作为依赖项的新资讯,同时我们还将为您解释外部jar添加到另一个springbootjar中的相关在本文中,我们将带你探索目标
在本文中,您将会了解到关于目标是将Spring Boot Web应用程序中的服务作为依赖项的新资讯,同时我们还将为您解释外部jar添加到另一个spring boot jar中的相关在本文中,我们将带你探索目标是将Spring Boot Web应用程序中的服务作为依赖项的奥秘,分析外部jar添加到另一个spring boot jar中的特点,并给出一些关于Java Web应用程序Spring Boot定位图像、Java Web应用程序。Spring Boot。定位图像、spring boot --开发web应用程序、Spring Boot Gradle Java应用程序中的SQL Server依赖项的实用技巧。
本文目录一览:- 目标是将Spring Boot Web应用程序中的服务作为依赖项(外部jar)添加到另一个spring boot jar中
- Java Web应用程序Spring Boot定位图像
- Java Web应用程序。Spring Boot。定位图像
- spring boot --开发web应用程序
- Spring Boot Gradle Java应用程序中的SQL Server依赖项
目标是将Spring Boot Web应用程序中的服务作为依赖项(外部jar)添加到另一个spring boot jar中
如何解决目标是将Spring Boot Web应用程序中的服务作为依赖项(外部jar)添加到另一个spring boot jar中?
我有2个Spring Boot项目,这些项目具有相同的旧项目。 我需要异步项目才能访问其余项目的服务层 其余项目会将事件发送到异步项目以执行长期运行的任务。 我能够用maven-jar-plugin创建一个jar,但是当我启动异步项目时,它无法运行 我猜是因为它正在扫描剩下的罐子并找到弹簧靴,并且发生了冲突。 试图徒劳无功。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
<configuration>
<includes>
<include>**/service/*.java</include>
<include>**/serviceImpl/*.java</include>
</includes>
<excludes combine.self="override">
<exclude>application-local.yml</exclude>
<exclude>application-junit.yml</exclude>
<exclude>**/MyApplication.java</exclude>
<exclude>**\MyApplication.java</exclude>
<exclude>MyApplication.java</exclude>
<exclude>com.power.config.*.*</exclude>
<exclude>src/test/java/**</exclude>
<exclude>src/test/**</exclude>
<forceCreation>true</forceCreation>
</excludes>
<classifier>depend</classifier>
</configuration>
</execution>
</executions>
</plugin>
现在这会产生一个空罐子 如果我删除其中包含的内容,则会创建一个jar,但其中包含太多内容,它将无法运行异步项目。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Java Web应用程序Spring Boot定位图像
我最近解决了在该社区中定位图像的问题。
但是,一个答案说:
您的应用是Spring Boot应用。我认为您也可以尝试使用Spring
Boot提供的功能来提供静态内容。无论如何,您现在正在执行此操作,因为您正在将Webjars用于CSS和JS库!与您使用的技术保持一致。
这意味着,建议将图像文件放置在/src/main/resources
而不是中/src/main/webapp
。
我如何使用Spring Boot提供给我的设施?
谢谢
Java Web应用程序。Spring Boot。定位图像
我最近解决了在该社区中定位图像的问题。
但是,一个答案说:
您的应用是Spring Boot应用。我认为您也可以尝试使用Spring
Boot提供的功能来提供静态内容。无论如何,您现在正在执行此操作,因为您正在将Webjars用于CSS和JS库!与您使用的技术保持一致。
这意味着,建议将图像文件放置在/src/main/resources
而不是中/src/main/webapp
。
我如何使用Spring Boot提供给我的设施?
谢谢
答案1
小编典典Spring Boot自动配置可用于生产环境的设置,并根据在maven /
gradle构建文件中声明的某些依赖项将bean添加到Spring项目。只要遵循约定,那么您就不必进行太多配置- “配置之上的约定”
。例如,一种惯例是在资源类路径中加载图像和静态文件。请参阅文档:http : //docs.spring.io/spring-
boot/docs/current/reference/htmlsingle/
spring boot --开发web应用程序
Spring MVC 自动配置
Spring Boot 提供了适用于大多数 Spring MVC 应用的自动配置
自动配置在 Spring 默认功能上添加了以下功能:
- 引入
ContentNegotiatingViewResolver
和BeanNameViewResolver
bean。 - 支持服务静态资源,包括对 WebJar 的支持。
- 自动注册
Converter
、GenericConverter
和Formatter
bean。 - 支持
HttpMessageConverter
。 - 自动注册
MessageCodesResolver
。 - 支持静态 index.html。
- 支持自定义 Favicon 。
- 自动使用
ConfigurableWebBindingInitializer
bean。
HttpMessageConverters
Spring MVC 使用 HttpMessageConverter
接口来转换 HTTP 的请求和响应
自定义 JSON Serializer 和 Deserializer
自定义序列化器(serializer)的做法通常是通过一个模块来注册 Jackson, 然而 Spring Boot 提供了一个备选的 @JsonComponent
注解,它可以更加容易地直接注册 Spring Bean。
MessageCodesResolver
Spring MVC 有一个从绑定错误中生成错误码的策略,用于渲染错误信息:MessageCodesResolver
。如果设置了 spring.mvc.message-codes-resolver.format
属性值为 PREFIX_ERROR_CODE
或 POSTFIX_ERROR_CODE
,Spring Boot 将为你创建该策略。
静态内容
默认情况下,Spring Boot 将在 classpath 或者 ServletContext
根目录下从名为 /static
(/public
、/resources
或 /META-INF/resources
)目录中服务静态内容。它使用了 Spring MVC 的 ResourceHttpRequestHandler
,因此您可以通过添加自己的 WebMvcConfigurerAdapter
并重写 addResourceHandlers
方法来修改此行为。
默认情况下,资源被映射到 /**
,但可以通过 spring.mvc.static-path-pattern
属性调整。比如,将所有资源重定位到 /resources/**
:
spring.mvc.static-path-pattern=/resources/**
如果您的应用程序要包成 jar,请不要使用
src/main/webapp
目录。虽然此目录是一个通用标准,但它只适用于 war 打包,如果生成的是一个 jar,它将被绝大多数的构建工具所忽略。
欢迎页面
Spring Boot 支持静态和模板化的欢迎页面。它首先在配置的静态内容位置中查找
index.html
文件。如果找不到,则查找 index
模板。
自定义 Favicon
Spring Boot 在配置的静态内容位置和根 classpath 中查找
favicon.ico
(按顺序)
路径匹配与内容协商
Spring MVC 可以通过查看请求路径并将其与应用程序中定义的映射相匹配,将传入的 HTTP 请求映射到处理程序。
Spring Boot 默认选择禁用后缀模式匹配,这意味着像
"GET /projects/spring-boot.json"
这样的请求将不会与 @GetMapping("/projects/spring-boot")
映射匹配。
模板引擎
Spring Boot 包含了以下的模板引擎的自动配置支持:
- FreeMarker
- Groovy
- Thymeleaf
- Mustache
错误处理
可以定义一个带有 @ControllerAdvice
注解的类来自定义为特定控制器或异常类型返回的 JSON 文档:
@ControllerAdvice(basePackageClasses = AcmeController.class)
public class AcmeControllerAdvice extends ResponseEntityExceptionHandler {
@ExceptionHandler(YourException.class)
@ResponseBody
ResponseEntity<?> handleControllerException(HttpServletRequest request, Throwable ex) {
HttpStatus status = getStatus(request);
return new ResponseEntity<>(new CustomErrorType(status.value(), ex.getMessage()), status);
}
private HttpStatus getStatus(HttpServletRequest request) {
Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
if (statusCode == null) {
return HttpStatus.INTERNAL_SERVER_ERROR;
}
return HttpStatus.valueOf(statusCode);
}
}
如果同包下定义的控制器 AcmeController
抛出了 YourException
,则将使用 CustomerErrorType
类型的 POJO 来代替 ErrorAttributes
做 JSON 呈现
自定义错误页面
想在自定义的 HTML 错误页面上显示给定的状态码,请将文件添加到 /error
文件夹中。错误页面可以是静态 HTML(添加在任意静态资源文件夹下) 或者使用模板构建。文件的名称应该是确切的状态码或者一个序列掩码。
要将 404
映射到一个静态 HTML 文件,文件夹结构可以如下
src/
+- main/
+- java/
| + <source code>
+- resources/
+- public/
+- error/
| +- 404.html
+- <other public assets>
映射到 Spring MVC 之外的错误页面
对于不使用 Spring MVC 的应用程序,您可以使用 ErrorPageRegistrar
接口来直接注册 ErrorPages
。抽象部分直接与底层的内嵌 servlet 容器一起工作,即使没有 Spring MVC DispatcherServlet
也能使用。
@Bean
public ErrorPageRegistrar errorPageRegistrar(){
return new MyErrorPageRegistrar();
}
// ...
private static class MyErrorPageRegistrar implements ErrorPageRegistrar {
@Override
public void registerErrorPages(ErrorPageRegistry registry) {
registry.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400"));
}
}
CORS 支持
跨域资源共享(Cross-origin resource sharing,CORS)是大多数浏览器实现的一个 W3C 规范
在 Spring Boot 应用程序中使用 @CrossOrigin
注解配置控制器方法启用 CORS。还可以通过注册一个 WebMvcConfigurer bean 并自定义 addCorsMappings(CorsRegistry)
方法来定义全局 CORS 配置:
@Configuration
public class MyConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**");
}
};
}
}
Spring Boot Gradle Java应用程序中的SQL Server依赖项
我不确定,但是我认为build.gradle在Gradle中是等效的吗?
是的。 build.gradle
就是Gradle pom.xml
就是Maven。
我应该添加什么以增加对Microsoft SQL Server的支持?
您当前具有对声明的MySQL JDBC驱动程序的依赖性:
runtimeOnly 'mysql:mysql-connector-java'
要使用MS SQL Server,您需要将其替换为
runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
您可以使用Spring Initializr浏览框架项目。您还可以参考Reference Documentation,以获取有关如何配置数据源属性以连接到MS SQL Server的说明。
今天的关于目标是将Spring Boot Web应用程序中的服务作为依赖项和外部jar添加到另一个spring boot jar中的分享已经结束,谢谢您的关注,如果想了解更多关于Java Web应用程序Spring Boot定位图像、Java Web应用程序。Spring Boot。定位图像、spring boot --开发web应用程序、Spring Boot Gradle Java应用程序中的SQL Server依赖项的相关知识,请在本站进行查询。
本文标签: