4.0.0
org.springframework.boot
spring-boot-starter-parent
3.1.1
com.xgxz.boot
spring-boot-3-nacos
1.0
spring-boot-3-nacos
spring-boot-3-nacos
17
17
17
2022.0.3
2022.0.0.0-RC2
org.springframework.cloud
spring-cloud-dependencies
${spring.cloud.version}
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
${spring.cloud.alibaba.version}
pom
import
org.springframework.cloud
spring-cloud-starter-bootstrap
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.boot
spring-boot-starter-data-redis
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
2.13.1
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
关于选择nacos版本,参考
地址:https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/README-zh.md
server:
port: 8868
spring:
application:
name: spring-boot-nacox
data:
redis:
host: 192.168.56.10
port: 6379
database: 2
# password: 123456 #默认为空
timeout: 3000ms
lettuce:
pool:
max-active: 20 # 最大连接数,负值表示没有限制,默认8
max-wait: -1 # 最大阻塞等待时间,负值表示没限制,默认-1
max-idle: 8 # 最大空闲连接,默认8
min-idle: 0 # 最小空闲连接,默认0
cloud:
nacos:
discovery:
server-addr: 192.168.56.10:8848
/**
* ClassName: SpringBootQuartzApplication
* Package: com.xgxz.boot
* Description:
*
* @Author: 习惯向左
* @Create: 2023/7/6 - 16:59
* @Version: v1.0
*/
@Slf4j
@EnableDiscoveryClient
@SpringBootApplication
public class SpringBootQuartzApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootQuartzApplication.class, args);
log.info("--------------启动完成----------------");
}
}
/**
* ClassName: RedisConfig
* Package: com.xgxz.boot.config
* Description:
*
* @Author: 习惯向左
* @Create: 2023/7/6 - 17:10
* @Version: v1.0
*/
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
/**
* ClassName: User
* Package: com.xgxz.boot.entity
* Description:
*
* @Author: 习惯向左
* @Create: 2023/7/6 - 17:40
* @Version: v1.0
*/
@Data
public class User {
private Long id;
private String name;
private int age;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //此注解用来接收字符串类型的参数封装成LocalDateTime类型
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8", shape = JsonFormat.Shape.STRING) //此注解将date类型数据转成字符串响应出去
@JsonDeserialize(using = LocalDateTimeDeserializer.class) // 反序列化
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化
private LocalDateTime sendTime;
}
docker search nacos
docker pull nacos/nacos-server
mkdir -p /mydata/nacos/init.d /mydata/nacos/logs
docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e JVM_XMS=256m -e JVM_XMX=256m \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /mydata/nacos/logs:/home/nacos/logs \
--restart always \
--name nacos \
nacos/nacos-server
这里采用单机试用模式安装,也可参考Nacos官方文档 https://nacos.io/zh-cn/docs/deployment.html来安装
docker ps
访问浏览器 ip:8848/nacos
默认用户名、密码都为 nacos, 输入即可登录成功
一切就绪,下面我们启动服务来进行测试
服务启动正常
也成功注册到nacos上
存入的数据是没有问题
查出来的数据也是我们想要的
至此,就成功了,是不是还挺容易的
习惯向左,感觉至上