package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@ConfigurationProperties(prefix = "person")
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Person {
private String name;
private Integer age;
private Date birthday;
private Boolean like;
private Child child;//嵌套对象
private List<Dog> dogs;//数组(内部是对象)
private Map<String,Cat> cats;//map集合(V是对象)
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@ConfigurationProperties(prefix = "person")
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Person {
private String name;
private Integer age;
private Date birthday;
private Boolean like;
private Child child;//嵌套对象
private List<Dog> dogs;//数组(内部是对象)
private Map<String,Cat> cats;//map集合(V是对象)
}
#server.port=9999
#spring.servlet.multipart.max-file-size=10MB
#spring.data.redis.cluster.nodes=192.168.92.129:6381,\
# 192.168.92.129:6382,\
# 192.168.92.130:6383,\
# 192.168.92.130:6384,\
# 192.168.92.131:6385,\
# 192.168.92.131:6386
#spring.data.redis.database=0
#spring.data.redis.password=abc123
#spring.data.redis.cluster.max-redirects=3
#spring.data.redis.lettuce.pool.max-active=8
#spring.data.redis.lettuce.pool.max-wait=-1ms
#spring.data.redis.lettuce.pool.max-idle=8
#spring.data.redis.lettuce.pool.min-idle=0
#spring.data.redis.timeout=5000
##支持集群拓补动态感应刷新,自适应拓补刷新是否可用的更新
#spring.data.redis.lettuce.cluster.refresh.adaptive=true
##定时刷新
#spring.data.redis.lettuce.cluster.refresh.period=2000
#person.age=20
#person.name=Jack
#person.birthday=2001/11/11 11:11:11
#person.like=true
#person.child.name=Rose
#person.child.age=12
#person.child.birthday=2011/11/11 11:11:11
#person.child.test[0]=abc
#person.child.test[1]=def
#person.child.test[2]=ghj
#person.dogs[0].name=Tom
#person.dogs[0].age=3
#person.dogs[1].name=Jerry
#person.dogs[1].age=3
#person.cats.c1.name=佩奇
#person.cats.c1.age=9
#person.cats.c2.name=乔治
#person.cats.c2.age=5
#server.port=9999
#spring.servlet.multipart.max-file-size=10MB
#spring.data.redis.cluster.nodes=192.168.92.129:6381,\
# 192.168.92.129:6382,\
# 192.168.92.130:6383,\
# 192.168.92.130:6384,\
# 192.168.92.131:6385,\
# 192.168.92.131:6386
#spring.data.redis.database=0
#spring.data.redis.password=abc123
#spring.data.redis.cluster.max-redirects=3
#spring.data.redis.lettuce.pool.max-active=8
#spring.data.redis.lettuce.pool.max-wait=-1ms
#spring.data.redis.lettuce.pool.max-idle=8
#spring.data.redis.lettuce.pool.min-idle=0
#spring.data.redis.timeout=5000
##支持集群拓补动态感应刷新,自适应拓补刷新是否可用的更新
#spring.data.redis.lettuce.cluster.refresh.adaptive=true
##定时刷新
#spring.data.redis.lettuce.cluster.refresh.period=2000
#person.age=20
#person.name=Jack
#person.birthday=2001/11/11 11:11:11
#person.like=true
#person.child.name=Rose
#person.child.age=12
#person.child.birthday=2011/11/11 11:11:11
#person.child.test[0]=abc
#person.child.test[1]=def
#person.child.test[2]=ghj
#person.dogs[0].name=Tom
#person.dogs[0].age=3
#person.dogs[1].name=Jerry
#person.dogs[1].age=3
#person.cats.c1.name=佩奇
#person.cats.c1.age=9
#person.cats.c2.name=乔治
#person.cats.c2.age=5
server:
port: 9999
spring:
servlet:
multipart:
max-file-size: 10MB
data:
redis:
host: 192.168.92.129
port: 6379
database: 0
password: abc123
lettuce:
pool:
max-active: 8
max-wait: -1ms
max-idle: 8
min-idle: 0
timeout: 5000
person:
name: Jack
age: 20
birthday: 2001/11/11 11:11:11
like: true
child:
name: Rose
age: 10
birthday: 2011/11/11 11:11:11
# text: {"abc","def","ghj"}
text:
- abc
- def
cats:
c1:
name: 佩奇
age: 8
c2:
name: 乔治
age: 5
dogs:
- name: Tom
age: 3
- name: Jerry
age: 3
server:
port: 9999
spring:
servlet:
multipart:
max-file-size: 10MB
data:
redis:
host: 192.168.92.129
port: 6379
database: 0
password: abc123
lettuce:
pool:
max-active: 8
max-wait: -1ms
max-idle: 8
min-idle: 0
timeout: 5000
person:
name: Jack
age: 20
birthday: 2001/11/11 11:11:11
like: true
child:
name: Rose
age: 10
birthday: 2011/11/11 11:11:11
# text: {"abc","def","ghj"}
text:
- abc
- def
cats:
c1:
name: 佩奇
age: 8
c2:
name: 乔治
age: 5
dogs:
- name: Tom
age: 3
- name: Jerry
age: 3
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Dog {
private String name;
private Integer age;
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Dog {
private String name;
private Integer age;
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Child {
private String name;
private Integer age;
private Date birthday;
private List<String> test;//数组
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Child {
private String name;
private Integer age;
private Date birthday;
private List<String> test;//数组
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Cat {
private String name;
private Integer age;
}
package com.example.boot3.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data//自动生成javaBean的getSet方法
@NoArgsConstructor//自动生成无参数构造器
@AllArgsConstructor//自动生成全参数构造器
public class Cat {
private String name;
private Integer age;
}
package com.example.boot3;
import com.example.boot3.bean.Person;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("com.example")//改变包扫描路径
@SpringBootApplication(scanBasePackages = "com.example.boot3")//手动指定扫描包位置
public class Boot3Application
{
public static void main(String[] args) {
var ioc = SpringApplication.run(Boot3Application.class);
String[] names = ioc.getBeanDefinitionNames();
for (String name : names){
System.out.println(name);
}
Person person = ioc.getBean(Person.class);
System.out.println(person);
}
}
package com.example.boot3;
import com.example.boot3.bean.Person;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("com.example")//改变包扫描路径
@SpringBootApplication(scanBasePackages = "com.example.boot3")//手动指定扫描包位置
public class Boot3Application
{
public static void main(String[] args) {
var ioc = SpringApplication.run(Boot3Application.class);
String[] names = ioc.getBeanDefinitionNames();
for (String name : names){
System.out.println(name);
}
Person person = ioc.getBean(Person.class);
System.out.println(person);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>boot3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot3</name>
<description>boot3</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>boot3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot3</name>
<description>boot3</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>