精华内容
参与话题
问答
  • 之前写的打包方式有问题,自已第二次用用那个方法都没成功,...打包方式用的是spring-boot-maven-plugin插件打包。 <plugins> <plugin> <groupId>org.springframework.boot</groupId>...

    之前写的打包方式有问题,自已第二次用用那个方法都没成功,所以不能坑别人- - ,重新写一下。
    先写方法,再说为什么。打包方式用的是spring-boot-maven-plugin插件打包。

    <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <executions>
                  <execution>
                      <goals>
                           <goal>repackage</goal>
                       </goals>
                    </execution>
              </executions>
           </plugin>
     </plugins>

    maven pom.xml加入springboot的打包插件配置,
    Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以可执行的方式运行Spring Boot应用。

    第一步:必须先编译,不然找包后报找不到类,先使用maven编译整个项目,用idea的同学可以点maven compile编译。使用外部maven的同学执行 mvn compile.看最后是否success。

    第二步: 执行命令 

    mvn package spring-boot:repackage
    这个命令能将spring-boot打包为jar,并将依赖打进去,就可以放到其他地方执行,mvn package这种打包是没有依赖的,放在别的环境就不能运行了。
    

    这样就打包完成了,打成的jar在target目录下。
    然后再写下springboot jar的结构与普通jar结构的异同....待续。

    展开全文
  • SpringBoot - Spring Boot 2.3.0 M1发行说明

    千次阅读 2020-01-24 15:25:19
    SpringBoot - Spring Boot 2.3.0 M1发行说明1、从Spring 2.2 进行升级所需要的注意事项2、支持用云本地构建包构建Docker映像3、支持构建分层jar,以便于打包在docke的镜像中4、现在已经支持了配置属性的端到端的可...


    1、从Spring 2.2 进行升级所需要的注意事项

    1、废弃的一些类。

    在SpringBoot 2.2中被废弃的类、方法和属性在这个版本中已经被删除。在升级之前,请确保您没有调用不推荐的方法

    可以参考官方文档
    1、https://github.com/spring-projects/spring-boot/pull/19189
    2、https://github.com/spring-projects/spring-boot/pull/19699


    2、内置组件的版本最低要求升级

    如果你使用Gradle,需要的最低版本是 5.6 以上
    如果你使用Jetty 嵌入式容器,需要的最低版本是 9.4.22以上

    3、Springcloud 相关

    移除了 Spring Cloud Connectors starter 组件,并推荐使用 Java CFEnv 进行代替

    4、验证相关
    spring-boot-starter-validation 模块不再默认包含,如果需要使用者个模块,需要在POM 文件中显式的进行引用才可以

    5、ElasticSearch传输变化

    原生Elasticearch传输在以前的SpringBoot版本中被废弃,因为Elasticearch和Spring数据本身在下一个版本中不支持它。此支持已在SpringBoot中删除

    具体详情请参考Spring 官方文档
    https://github.com/spring-projects/spring-boot/issues/19668

    另外,Elasticsearch现在提供了一个官方的HTTP客户机,Spring数据作为传输支持它。对Jest库的支持已在SpringBoot2.2.0中被废弃,并已从SpringBoot中删除

    参考:https://github.com/spring-projects/spring-boot/pull/19681

    Spring Boot现在默认使用ElasticSearch 7.5+

    6、Cassandra 升级

    Spring Boot现在默认使用Cassandra 4.3+。这个新的驱动程序有一些破坏的变化,暂时Spring 团队还是处理当中

    如果你是依靠ClusterBuilderCustomizer若要自定义Cluster,这个概念在v4中不再存在,而是被两个更具体的自定义器所取代:

    DriverConfigLoaderBuilderCustomizer自定义驱动程序的属性。请将其用于尚未公开的任何属性。

    CqlSessionBuilderCustomizer自定义CqlSession(前Session).

    此外,卡桑德拉v4驱动器不再有自动的地方直流推论从接触点。因此,必须使用默认的负载平衡策略来设置“本地数据中心”属性,并且接触点必须位于该数据中心。新的spring.data.cassandra.local-datacenter属性以轻松设置本地数据中心。

    最后,联络点现在以host:port。确保更新配置以指定每个接触点要使用的端口

    2、支持用云本地构建包构建Docker映像

    Support for building Docker images using Cloud Native Buildpacks has been added to the Maven and Gradle plugins via the spring-boot:build-image goal and the bootBuildImage task.

    支持使用Native 的构建包构建docker 镜像,他已经被加入到Maven 和Gradle 插件里面

    3、支持构建分层jar,以便于打包在docke的镜像中

    Maven和Gradle插件已经添加了对构建内容分离为层的JAR文件的支持。分层根据JAR的更改频率将其内容分隔开来。这种分离允许建立更高效的Docker 镜像。未更改的现有层可与已更改的层放在顶部重用

    分层JAR还为通过新的JAR模式列出和提取其层提供了内置支持。要查看可用的选项,请使用-Djarmode=layertools,如以下示例所示

    $ java -Djarmode=layertools -jar build/libs/layered-app-0.0.1-SNAPSHOT.jar 
    Usage:
      java -Djarmode=layertools -jar layered-app-0.0.1-SNAPSHOT.jar
    
    Available commands:
      list     List layers from the jar that can be extracted
      extract  Extracts layers from the jar for image creation
      help     Help about any command
    

    4、现在已经支持了配置属性的端到端的可跟踪性质

    /actuator/configprops端点提供有关配置属性的端到端信息,将其行为与环境端点对齐.例如,在添加server.server-header=Spring Boot在你的application.properties,端点将显示以下内容:

    "serverHeader": {
      "origin": "class path resource [application.properties]:2:22",
      "value": "Spring Boot"
    },
    

    具体的开业去参考一下官方的文档
    https://github.com/spring-projects/spring-boot/issues/17886

    5、对大型Jar 包的友好支持

    使用Maven和Gradle构建的FAT JAR现在包括一个索引文件,当jar 包越来越大的时候,这个索引文件用于确保类路径的排序与直接执行JAR时相同。

    6、进行了一系列的依赖升级

    Spring Data Neumann

    Spring HATEOAS 1.1

    Spring Integration 5.3

    Spring Kafka 2.4

    Spring Security

    7、更新了第三方的一些依赖,其中主要的需要关注的如下

    AssertJ 3.14

    Elasticsearch 7.5

    Flyway 6.1

    Hibernate Validator 6.1

    Infinispan 10.1

    Kafka 2.4

    Mockito 3.2

    8、对JPA 的变更

    JPA 的一些配置的默认值改掉了,具体参考着2个地方的文档

    https://github.com/spring-projects/spring-boot/issues/16230

    https://github.com/spring-projects/spring-boot/issues/16747

    9、配置项的更改

    这个spring.http.属性已移动到server.servlet.encoding., spring.mvc.和spring.codec

    详细说明文档:https://github.com/spring-projects/spring-boot/issues/18827

    展开全文
  • Springboot admin 很好的提供了对Springboot的监控,但是不建议直接将admin整合到已有的项目中。...本次使用的是spring-boot-admin-server:2.0.3  server 和 clent 的关系,client通过http注册到server中,当然...

    Springboot admin 很好的提供了对Springboot的监控,但是不建议直接将admin整合到已有的项目中。于是我另起一个项目,考虑到不能让所有人都能看到这些数据了,于是引入了spring security。

     

    本次使用的是spring-boot-admin-server:2.0.3

     server 和  clent 的关系,client通过http注册到server中,当然也可以使用服务注册发现Spring Cloud(Eureka、Consul等等)注册到admin server中进行展示

     

    一、springboot admin 服务端

    创建一个Springboot工程

    添加依赖,

    <properties>
            ...
    	<spring-boot-admin.version>2.0.3</spring-boot-admin.version>
    </properties>
    <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-server -->
    <dependency>
    	<groupId>de.codecentric</groupId>
    	<artifactId>spring-boot-admin-server</artifactId>
    	<version>${spring-boot-admin.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-server-ui -->
    <dependency>
    	<groupId>de.codecentric</groupId>
    	<artifactId>spring-boot-admin-server-ui</artifactId>
    	<version>${spring-boot-admin.version}</version>
    </dependency>
    <!-- security 权限 -->
    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-security</artifactId>
    </dependency>

    在启动器里开启amdinserver

    package com.example.admin;
    
    import de.codecentric.boot.admin.server.config.EnableAdminServer;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @EnableAdminServer
    public class AdminApplication {
    
    	public static void main(String[] args) {
    		SpringApplication.run(AdminApplication.class, args);
    	}
    }
    
    • @EnableAdminServer 开启adminserver

    添加权限(参考文档:http://codecentric.github.io/spring-boot-admin/2.0.3/#securing-spring-boot-admin

    @Configuration
    public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
        private final String adminContextPath;
    
        public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
            this.adminContextPath = adminServerProperties.getContextPath();
        }
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            // @formatter:off
            SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
            successHandler.setTargetUrlParameter("redirectTo");
            successHandler.setDefaultTargetUrl(adminContextPath + "/monitor");
    
            http.authorizeRequests()
                    .antMatchers(adminContextPath + "/assets/**").permitAll()
                    .antMatchers(adminContextPath + "/login").permitAll()
                    .anyRequest().authenticated()
                    .and()
                    .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                    .logout().logoutUrl(adminContextPath + "/logout").and()
                    .httpBasic().and()
                    .csrf()
                    .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                    .ignoringAntMatchers(
                            adminContextPath + "/instances",
                            adminContextPath + "/actuator/**"
                    );
            // @formatter:on
        }
    }

     

    配置application.yml

    server:
      port: 8500
    
    spring:
      boot:
        admin:
          context-path: monitor # 项目名称,当然也可以不填啦

    创建默认用户,这里只是简单的新增了一个root用户,其他操作建议去spring.io官网查看具体的文档

    @EnableWebSecurity
    public class WebSecurityConfig implements WebMvcConfigurer {
    
        @Bean
        public UserDetailsService userDetailsService() throws Exception {
            InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
            manager.createUser(User.withDefaultPasswordEncoder().username("root").password("root").roles("administrator").build());
            return manager;
        }
    }

    启动访问(http://localhost:8500/monitor )

    成功访问,但是还没有client注册进来,接着开整client

     

    二、springboot admin 客户端(client)

    引入依赖

    <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-client -->
    <dependency>
    	<groupId>de.codecentric</groupId>
    	<artifactId>spring-boot-admin-starter-client</artifactId>
    	<version>2.0.3</version>
    </dependency>

    配置文件application.yml

    server:
      port: 8501
      servlet:
        context-path: /clent1
    spring:
      boot:
        admin:
          client:
            url: http://localhost:8500/monitor # server服务端的地址
            username: root
            password: root
            instance:
              service-base-url: http://localhost:8501 # 本项目的地址
              name: clent1
    
    management:
      endpoints:
        web:
          exposure:
            include: "*"
      endpoint:
        health:
          show-details: ALWAYS
    
    info:
      version: @project.version@
      name: @project.artifactId@
      author: wwq
      blog: https://blog.csdn.net/qq_25582683

    启动client

    结束,最后附上demo:demo

    展开全文
  • SpringBoot:spring boot mysql配置

    万次阅读 2017-07-29 00:40:42
    在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢? 很简单,我们需要在application.properties进行配置一下,application.properties路径是src/main/resources下,对于application....

    原文来自:http://www.vxzsk.com/355.html

    在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢?

    很简单,我们需要在application.properties进行配置一下,application.properties路径是src/main/resources下,对于application.properties更多的介绍请自行百度进行查找相关资料进行查看,在此不进行过多的介绍,以下只是mysql的配置文件。

    大体步骤:

    (1)在application.properties中加入datasouce的配置

    (2)在pom.xml加入mysql的依赖。

    (3)获取DataSouce的Connection进行测试。

    src/main/resouces/application.properties:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ########################################################
    ###datasource
    ########################################################
    spring.datasource.url = jdbc:mysql://localhost:3306/test
    spring.datasource.username = root
    spring.datasource.password = root
    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    spring.datasource.max-active=20
    spring.datasource.max-idle=8
    spring.datasource.min-idle=8
    spring.datasource.initial-size=10

    pom.xml配置:

    1
    2
    3
    4
    <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
    </dependency>

    到此相关配置就ok了,那么就可以在项目中进行测试了,我们可以新建一个class Demo进行测试,实体类创建完毕之后,我们可能需要手动进行编写建表语句,这时候我们可能就会想起Hibernate的好处了。那么怎么在spring boot使用Hibernate好的特性呢?So easy,具体怎么操作,请看上篇文章之JPA – Hibernate


    展开全文
  • springbootSpring Boot返回json数据

    千次阅读 2018-09-27 22:16:05
    原文地址: http://412887952-qq-com.iteye.com/blog/2291508 在做如下操作之前,我们对之前的Hello进行简单的修改,我们新建一个包com.kfit.test.web 然后新建一个... 主要代码如下:   packagecom.kfit ...impor...
  • SpringBootSpring Boot Starter依赖包及作用

    万次阅读 多人点赞 2017-10-12 13:34:40
    Spring BootSpring Boot Starter依赖包及作用 spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message...
  • 问题:作为 一个 java web 开发的初学者,一直在使用 spring MVC ...在此 我把spring MVC的工作流程写出来,各位java大佬,用最通俗的语言告诉我spring bootspring MVC 工作流程的 区别。 Spring MVC工作流...
  • 方式一:  默认的application启动,在创建项目时自动生成application启动类,直接run执行即可。 方式二:使用外置的tomcat启动  默认的启动类要继承...@SpringBootApplication public class FileuploadAppli...
  • Spring Boot教程(十三):Spring Boot文件上传

    万次阅读 多人点赞 2018-05-15 15:55:31
    -- Spring Boot web启动器 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-...
  •  Spring Boot Admin 有一个强大的功能,就是实时在线查看日志,并且可以动态更改日志级别。 二、代码演示 pom依赖 <!-- spring-boot-admin --> <dependency> <groupId>de.codecentric</...
  • Spring Boot---(11)SpringBoot使用Junit单元测试

    万次阅读 多人点赞 2018-02-02 17:51:18
    摘要:本文详细的记录了SpringBoot如何结合Junit写测试用例,如何执行,打包执行,忽略执行等操作,SpringBoot内置了Junit测试组件,使用很方便,不用再单独引入其他测试组件。 演示环境: SpringBoot + mybatis...
  • springboot采纳了建立生产就绪Spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做...
  • springboot 2.0 spring boot admin 配置1 简单配置https://blog.csdn.net/haveqing/article/details/86545201 一、spring boot admin server 端 1.pom.xml &lt;?xml version="1.0" encoding="...
  • Spring boot actuator 是 spring 启动框架中的重要功能之一。Spring boot 监视器可帮助您访 问生产环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和 监控。即使一些外部应用程序可能正在...
  • SpringBoot1 和Spring Boot 2差别

    万次阅读 2017-11-08 08:40:17
    有差别,但差别不大。基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是 配置已经不存在或者改名类已经...第1章,SpringBoot 2基于Spring5和JDK8,而Spring 1x则用的是降低版本
  • Springbootspring-boot-autoconfigure模块

    千次阅读 2018-01-29 12:34:24
    Spring的出现给我们管理bean的依赖注入提供了便捷,但是当我们需要使用通过pom引入的jar里面的一个bean时候,还是需要手动在xml配置文件里面主要注入的bean 。springboot则可以依据classpath里面的依赖内容来自动...
  • SpringBootspring-boot-load模块

    千次阅读 2018-01-29 12:33:40
    一、前言 正常情况下classloader只能找到jar里面当前目录或者文件类里面的*.class文件。为了能够加载嵌套jar里面的资源之前都是把嵌套jar里面的class文件和应用的class文件打包为一个jar,这样就不存在嵌套jar...
  • 由于项目比较受大家欢迎,因此心中就出现了将它做成教学视频的想法,也就是你现在了解的这个课程《SpringBoot入门及前后端分离项目开发》,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,...
  • 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库。网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供小伙伴们参考。 本文的基于在于会搭建...
  • SpringBoot 09——Spring Boot日志配置

    千次阅读 2019-01-12 11:30:32
    Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL、log4j2、Logback提供了默认配置 1、默认日志配置    修改日志默认级别   2、修改日志默认配置  修改日志文件生成路径     ...
  • 说明 SpringBootSpringCloud的版本需要对应。因为官方不会保证SpringBootSpringCloud不同版本的兼容性。 Spring Cloud ... 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x Camden ...
  • SpringBoot系列:Spring Boot集成Swagger2

    千次阅读 2019-06-24 23:58:21
    Swagger2 Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 随着前后端分离越来越流行,但同时前后端开发的成本也增加了,撰写和维护...Spring Boot集成Swagger2 首先...
  • 一,SpringBoot——安装spring boot CLI

    千次阅读 2018-09-29 11:24:46
    http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.3.0.RELEASE/spring-boot-cli-1.3.0.RELEASE-bin.zip 二,解压安装 下载完成之后,把它解压到文件系统的任意目录里。在解压后的目录里...
  • Springboot-启动 Spring Boot服务的方式

    千次阅读 2017-07-21 11:35:02
    Springboot-启动 Spring Boot服务的方式 1.启动springboot服务  java–jar jar包名称.jar 2 使用profile指定环境的配置文件启动服务 java –jar jar包名称.jar –-spring.profiles.active={profile}   首先...
  • Spring在Java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下令人头疼的问题: (1)大量配置文件的定义; (2)与第三方软件整合的技术问题,Spring每个新版本的推出都以减少配置作为自己的主要目标,...
  • springboot 2.1 单元测试,及日志输出
  • 关于过滤器和拦截器的区别,已经spring boot入门(七)中说明。下面举个过滤器的应用场景,比如用户信息页只有再用户登录后才可以进入,没有登录的用户是无法进入的,此时便可以采用过滤器来讲没有登录的用户"...
  • 【转载】SpringBoot1 和Spring Boot 2差别

    万次阅读 2018-11-07 08:34:06
    基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是 配置已经不存在或者改名 类已经不存在改名 听着挺吓人,但我实际切换过程中改动的地方很少。一般正常的MVC,数据库访问...

空空如也

1 2 3 4 5 ... 20
收藏数 577,604
精华内容 231,041
关键字:

springboot

spring 订阅