0%

使用Nacos配置中心

Nacos还可以替代springCloudConfig来完成配置中心功能,基础层面都通过DataIdGroup来定位配置内容

引入依赖

1
2
3
4
5
<!-- spring cloud alibaba nacos 配置-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
阅读全文 »

使用Nacos注册中心

Nacos可以替代Eureka作为注册中心,不过Nacos是一个独立的组件,首先需要将Nacos下载启动起来(默认是8848端口),然后在进行服务注册

依赖

1
2
3
4
5
<!-- spring cloud alibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
阅读全文 »

MySQL高级语句

  • 如果有主键或者唯一键冲突则不插入:insert ignore into
  • 如果有主键或者唯一键冲突则更新:insert into staff (id,name,age,sex) values (1,'李四',18,1) ON DUPLICATE KEY UPDATE name="11111"
  • 如果有就用新的替代,values如果不包含自增列,自增列的值会变化:REPLACE into staff (id,name,age,sex) values (1,'李四',18,1)
  • 备份表:CREATE TABLE user_info SELECT * FROM user_info
  • 复制表结构:CREATE TABLE user_v2 LIKE user
  • 从查询语句中导入:INSERT INTO user_v2 SELECT * FROM user或者INSERT INTO user_v2(id,num) SELECT id,num FROM user

自动配置原理

自动配置其实是由于启动类上配置了@EnableAutoConfiguration注解来进行开启的,那有可能有些人就纳闷了,我启动类上也没有配置@EnableAutoConfiguration注解呀,那是因为@SpringBootApplication是组合注解,其内部包含有@EnableAutoConfiguration注解

基于springboot2.x版本,与1.x版本不同,不过思路相似

主启动类

1
2
3
4
5
6
7
@SpringBootApplication //标注主程序类
public class DemoApplication {

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

SpringBootApplication注解源码

@SpringBootApplication是一个组合注解,@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

1
2
3
4
5
6
7
8
9
10
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication

阅读全文 »

使用外置tomcat进行运行

springboot中是集成了tomcat容器的,那么如果我们不想使用springboot所集成的tomcat,而想要使用自己的Tomcat外部容器,该怎么做呢

首先,需要更改打包方式,之前是打成jar包,现在需要打成war包

然后,将依赖中的tomcat去除掉

1
2
3
4
5
6
7
8
9
10
11
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
阅读全文 »