mybatis:
type-aliases-package: com.entity
mapper-locations: classpath:mapper/*.xml
(2)在启动类里面添加mapper类的扫描包
@SpringBootApplication
@MapperScan("com.mapper")
public class PlanApplication {}
(1)在pom.xml文件里面配置资源文件加载路径
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
(2)在yml里面配置实体类的别名
mybatis:
type-aliases-package: com.entity
(3)在启动类里面添加mapper类的扫描包
@SpringBootApplication
@MapperScan("com.mapper")
public class PlanApplication {}
在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值:1、引入依赖:
[html] view plain copy
<!-- 支持 @ConfigurationProperties 注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2、配置文件(application.yml)中配置各个属性的值:
[plain] view plain copy
myProps: #自定义的属性和值
simpleProp: simplePropValue
arrayProps: 1,2,3,4,5
listProp1:
- name: abc
value: abcValue
- name: efg
value: efgValue
listProp2:
- config2Value1
- config2Vavlue2
mapProps:
key1: value1
key2: value2
3、创建一个bean来接收配置信息:
[java] view plain copy
@Component
@ConfigurationProperties(prefix="myProps") //接收application.yml中的myProps下面的属性
public class MyProps {
private String simpleProp
private String[] arrayProps
private List<Map<String, String>>listProp1 = new ArrayList<>()//接收prop1里面的属性值
private List<String>listProp2 = new ArrayList<>()//接收prop2里面的属性值
private Map<String, String>mapProps = new HashMap<>()//接收prop1里面的属性值
public String getSimpleProp() {
return simpleProp
}
//String类型的一定需要setter来接收属性值;maps, collections, 和 arrays 不需要
public void setSimpleProp(String simpleProp) {
this.simpleProp = simpleProp
}
public List<Map<String, String>>getListProp1() {
return listProp1
}
public List<String>getListProp2() {
return listProp2
}
public String[] getArrayProps() {
return arrayProps
}
public void setArrayProps(String[] arrayProps) {
this.arrayProps = arrayProps
}
public Map<String, String>getMapProps() {
return mapProps
}
public void setMapProps(Map<String, String>mapProps) {
this.mapProps = mapProps
}
}
启动后,这个bean里面的属性就会自动接收配置的值了。
4、单元测试用例:
[java] view plain copy
@Autowired
private MyProps myProps
@Test
public void propsTest() throws JsonProcessingException {
System.out.println("simpleProp: " + myProps.getSimpleProp())
System.out.println("arrayProps: " + objectMapper.writeValueAsString(myProps.getArrayProps()))
System.out.println("listProp1: " + objectMapper.writeValueAsString(myProps.getListProp1()))
System.out.println("listProp2: " + objectMapper.writeValueAsString(myProps.getListProp2()))
System.out.println("mapProps: " + objectMapper.writeValueAsString(myProps.getMapProps()))
}
测试结果:
[plain] view plain copy
simpleProp: simplePropValue
arrayProps: ["1","2","3","4","5"]
listProp1: [{"name":"abc","value":"abcValue"},{"name":"efg","value":"efgValue"}]
listProp2: ["config2Value1","config2Vavlue2"]
mapProps: {"key1":"value1","key2":"value2"}
SpringBootRun方法会在应用启动时扫描配置类。SpringBootRun方法是一个静态方法,它可以接受一个参数,该参数是一个字符串数组,其中包含要传递给应用程序的参数。SpringBootRun方法会调用SpringApplication类的run方法,该方法会接受一个参数,该参数是一个配置类,它包含了应用程序所需的所有配置信息。在调用run方法之后,SpringBootRun方法会扫描该配置类,以确定应用程序需要加载哪些组件。一旦所有组件都被加载,应用程序就可以正常运行了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)