1.在xml文件中使用<context:property-placeholder location="”/>
这种方式可以读取location指定位置对应的文件,引用的话使用${key}可以获取对应的数据
和这种写法相同的还有
<bean class=“com.spring….config.PropertyPlaceholderConfigurer”>
<property name=“locations">
<array><value></value></array>
</property>
<bean>
这种是用bean来加载配置文件,看起来更直观
2.通过@Value注解读取配置
这种方法也需要预先在xml文件中设定好配置文件的位置
<bean id=“prop” class=“org.springframework.beans.factory.config.PropertiesFactoryBean”>
<property name=“locations”>
<array>
<value>classpath:.properties</value>
</array>
</property>
</bean>
之后在java代码里面可以用#{prop.key}来获取对应的数据prop是bean的名字,key是配置文件的键。
3.使用@PropertySource
在springboot中,可以不需要xml文件来设置配置文件,在需要使用配置文件的类名字前加上
@PropertySource(“locations")就可以读取指定位置的配置,在代码中使用@Value注解可以获取这些数据
@Value(value = “${key}”)
4.使用@ConfigurationProperties(prefix=“”)
SpringBoot项目有时候会使用application.yml来存储配置信息,一般情况下这些数据的存储格式是
a:
key1:value1
key2:value2
这种嵌套方式,当然可以多层嵌套
在需要使用配置文件的类上面使用@ConfigurationProperties(prefix=“a”)可以获取a标签下一层所有的配置的键值对。
java中自定义注解的使用方法:首先声明一个接口,并未它添加注解内容!
package testAnnotation
import java.lang.annotation.Documented
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Person{
String name()
int age()
}
2、然后利用反射机制查看类的注解内容
package testAnnotation
@Person(name="xingoo",age=25)
public class test3 {
public static void print(Class c){
System.out.println(c.getName())
//java.lang.Class的getAnnotation方法,如果有注解,则返回注解。否则返回null
Person person = (Person)c.getAnnotation(Person.class)
if(person != null){
System.out.println("name:"+person.name()+" age:"+person.age())
}else{
System.out.println("person unknown!")
}
}
public static void main(String[] args){
test3.print(test3.class)
}
}
运行结果,读取到了注解的内容
testAnnotation.test3
name:xingoo age:25
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)