前言 在学习SparkJava.Vert.x等轻量级Web框架的时候,都遇到过打包问题,这两个框架打包的时候都需要添加额外的Maven配置,并指定启动类才能得到可执行的JAR包: 而springboot项目,似乎都不需要额外的配置,直接package就可以得到可执行的JAR包,这是怎么回事呢? Vert.x要怎么配? 我们先来看看,Vert.x打包做哪些配置 1)引入maven-shade-plugin插件 2)在插件中指定在package完成时触发shade操作 3)指定启动类 <plugin…
首先需要引入 spring-boot-starter-web 依赖[springboot web 项目 启动器 jar包]: 如果使用镜像请确保镜像路径正确,可参看笔者博客园m-yb的maven 安装 配置 博文: 由于笔者将SpringBoot项目的主启动类命名为SpringBootApplication.java与里面需要在类头上引入的@SpringBootApplication重名,导致会引用错误,失败,无法正常书写运行启动类: 其实我们通常将SpringBoot的主启动类命名为Sprin…
一 前言 本篇文章的主题是在springboot中写多个配置文件,指定让个配置文件生效,以便于达到在开发环境,测试环境,线上环境根据不同的配置灵活应用:读完本篇你将获得,学会springboot的多环境配置:学会使用idea配置虚拟机参数启动不同的配置文件:学会使用jar包运行并且指定不同的配置文件等: 二 激活方式一 spring框架内部提供了2中方式用于加载YAML文档,以供启动时读取配置文件:YamlPropertiesFactoryBean 会 加载 YAML 变为 Properties…
1 .SpringBoot启动类加上  注解 @EnableWebMvc @SpringBootApplication@EnableWebMvc public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }} 2. 继承 WebMvcConfigurationSupport 加载配置类重写原有 addResourceHand…
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程序模型,但是这样的代码肯定不适合于实际的项目开发, 因为从实际的 Maven 项目来讲,应该要有统一的父 pom.xml 文件. 2.1.统一父 pom 管理 1. 首先建立一个 microboot 的 Maven 项目: <!--建立统一的父pom ,其他的子模块都统一用这个配置 --> <…
前段时间研究springboot 发现使用Application类启动的话, 可以进入Controller方法并且返回数据,但是不能跳转到WEB-INF目录下网页, 前置配置 server: port: 8086 tomcat: uri-encoding: UTF-8 servlet: context-path: / spring: mvc: view: suffix: .jsp prefix: /WEB-INF/views/ view: suffix: .jsp prefix: /WEB-IN…
一.Springboot:请求入口 @SpringBootApplication @EnableAspectJAutoProxy @EnableScheduling @EnableTransactionManagement public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 1.@SpringBootAppli…
一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率低下.部署流程复杂.第三方技术集成难度大. 2.SpringBoot的优点 快速重建独立运行的Spring项目以及与主流框架集成. 使用嵌入式的Servlet容器,应用无需打成WAR包 starters自动依赖与版本控制 大量的自动配置.简化开发,也可以修改其默认值 无需配置XML,无代码生成 准生…
作为一个springboot初学者,在探索过程中难免遇到一些坑,边看书边动手,发现书本中的版本是1.0,而我使用的是最新版2.0,所以有些东西不能完全按照书本进行操作,因为2.0中已经不支持1.0中的部分配置了,比如2.0中的注解@SpringBootApplication是注解@SpringBootConfiguration.@EnableAutoConfiguration和@ComponentScan的组合,而1.0中它是@SpringBootConfiguration.@EnableAut…
知识点梳理 课堂讲义 02-SpringBoot自动配置-@Conditional使用 Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean. 作用:根据条件,决定类是否加载到Spring IoC容器中 需求: 导入Jedis坐标后创建user对象 编写ClassCondition,实现Condition接口 public class ClassCondition implements Condition { /** *…
什么是自定义Mybatis的配置规则? 答:即原来在mybatis配置文件中中我们配置到<settings>标签中的内容,如下第6-10行内容: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.…
springBoot项目启动类启动无法访问. 网上也查了一些资料,我这里总结.下不来虚的,也不废话. 解决办法: 1.若是maven项目,则找到右边Maven Projects --->Plugins--->run(利用maven启动)则可以加载到webapp资源 2.上面方法治标不治本.在项目的pom文件中添加<bulid>标签标注路径即可,pom.xml后部分代码如下: 刷新maven加载,重启项目.若还是无法访问,重新导入项目 <dependencies> xxx…
在Spring boot项目的实际开发中,我们有时需要项目服务启动时加载一些数据或预先完成某些动作.为了解决这样的问题,Spring boot 为我们提供了一个方法:通过实现接口 CommandLineRunner 来实现这样的需求. 实现方式:只需要一个类即可,无需其他配置. 实现步骤: 1.创建实现接口 CommandLineRunner 的类 MyStartupRunnerTest package com.energy; import org.springframework.boot.Co…
问题 在做单元测试时,写了一个工具类,用于注入spring的上下文. public class AppBeanUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansExce…
Cucumber:启动类配置 package com.steps; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; import org.junit.runner.RunWith; /** * @author rechin * * * @RunWith(Cucumber.class) 这是一个运行器 ,指用Cucumber来运行测试 * @CucumberOptions中的features,用于指定…
(原文:http://www.libgdx.cn/topic/45/4-3-libgdx%E5%90%AF%E5%8A%A8%E7%B1%BB%E4%B8%8E%E9%85%8D%E7%BD%AE) 对每一个平台来说.必须有一个启动类.这个类对于各个平台来说是独立的.这里仅仅介绍Android. **Android** Android应用不适用main()方法作为入口,而是须要一个Activity.打开Android项目,会找到例如以下代码: package cn.libgdx.game; im…
优雅的sprongboot启动类 package fama.cost.server; import fama.cost.common.IStoppable; import fama.cost.common.thread.Stopper; import fama.cost.dao.utils.BeanContext; import fama.cost.server.bean.SpringApplicationContext; import fama.cost.service.quartz.Quar…
一个有趣的现象:传统企业大都喜欢使用hibernate,互联网行业通常使用mybatis:之所以出现这个问题感觉与对应的业务有关,比方说,互联网的业务更加的复杂,更加需要进行灵活性的处理,所以mybatis的灵活性特点更为适合其 作为技术选型的优势: mybatis初期使用比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.当然mybatis也发现了这种弊端,初期开发了可以根据表结果自动生产实体类.配置文件和dao层代码,可以减轻一部分开发量:后期也进行了大量的优化可以使用…
Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件.YAML 文件.环境变量和命令行参数来定义优先级不同的配置值.零XML配置的Spring Boot Application,是基于Spring JavaConfig. Spring放弃XML配置简史 Spring IOC有一个非常核心的概念——Bean.由Spring容器来负责对Bean的实例化,装配和管理.最早XML是用来描述Bean最为流行的配置方式.Spring可以从XML配置文件中…
热部署的意思是只要类中的代码被修改了,就能实时生效,而不用重启项目.spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间. 其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart Cl…
一些基础但是核心的知识总结: Spring Boot项目启动的时候需要加@Configuration. @ComponentScan @Configuration + @Bean 把第三方jar包注入到容器中. 内部的直接 @Service @Controller等等之类配合 @ComponentSscan 的就OK了 @Scope可以实现单例 对于启动默认是饿汉式调用时候创建(但是项目启动时候比较耗费时间),另外一种是调用时候创建 @ComponentScan有排除的用法,排除那个组件 需要哪…
目录 前言 1. 数据源的自动配置 2. *数据源自动配置源码分析 2.1 DataSourceAutoConfiguration:数据源自动配置类 2.2 JdbcTemplateAutoConfiguration:JdbcTemplate的自动配置类 2.3 修改数据源的配置项 3. 配置Druid数据源的两种方式 3.1 自定义配置Druid数据源 3.2 自动配置Druid数据源及源码分析 3.2.1 自动配置Druid数据源 3.2.2 *自动配置的源码分析 4. 总结 最后 前言 前…
Git官方地址:https://github.com/SpringForAll/spring-boot-starter-swagger Demo:https://github.com/dyc87112/swagger-starter-demo demo下载到本地使用idea打开,默认8080端口,启动后访问:http://localhost:8080/swagger-ui.html 在pom.xml文件里引入 在springboot启动类里面加@EnableSwagger2Doc注解 在appl…
一.入口 上篇注解@SpringBootApplication简单分析,说到了@SpringBootApplication注解的内部结构, 其中@EnableAutoConfiguration利用EnableAutoConfigurationImportSelector.selectImports()给容器list中导入spring-boot-autoconfigure包下的多个配置类,根据包下的META-INF/spring.factories. # Auto Configure org.sp…
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云本机应用程序和微服务平台. Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务. 尤其是使用Eureka注册中心的,并且担心Eureka闭源的开发者们,可以将注册中心修改为Nacos,本文主要介绍Naco…
重写全局配置 如果springboot提供的springmvc配置不符合要求,则可以通过一个配置类(标有@Configuration注解的类)加上@EnableWebMvc注解来实现完全自己控制的mvc配置 当你既想保留springboot提供的配置,又想增加自己额外的配置时,可以定义一个配置类并继承WebMvcConfigurationAdapter,无须使用@EnableWebMvc注解 servlet容器配置(servlet容器配置) 如果需要使用代码的方式配置servlet容器,则可以注…
1.概念:SpringSecurity 安全访问 2.具体内容 所有的 Rest 服务最终都是暴露在公网上的,也就是说如果你的 Rest 服务属于一些你自己公司的私人业务,这样的结果会直接 导致你信息的泄漏,所以对于 Rest 访问,安全性是首要的因素. 2.1.配置安全验证 如果要想进行安全的验证处理,那么首先一定要先在服务的提供方上进行处理. 1. [microcloud-provider-dept-8001]修改 pom.xml 配置文件,追加 SpringSecurity 相关依赖包引入…
*必须首先导入dubbo-starter (1).使用SpringBoot配置文件(application.properties或application.yml) dubbo.application.name=boot-service-provider dubbo.registry.address=192.168.205.128:2181 dubbo.registry.protocol=zookeeper dubbo.protocol.name=dubbo dubbo.protocol.port…
一.单元测试 生成的demo里面包含spring-boot-starter-test :测试模块,包括JUnit.Hamcrest.Mockito,没有的手动加上. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> 添加测试类: @RunWith…
springboot可以打包为jar和war,jar不多说了,最近的一个工程需要打包为war发布,大致说一下吧: 先看一下项目的大致结构: 第一步,需要排除springboot自带的tomcat插件 然后,不要忘记所要打包的那个工程吧默认的jar改为war 第三步,由于我们使用了外部tomcat,所以需要加入servlet依赖: 第四步,在application的同级包下创建新的启动类: /** * 继承 SpringBootServletInitializer, 就是相当于使用了web.xml…