📜  Spring – 如何从属性文件中加载字面量值

📅  最后修改于: 2022-05-13 01:55:40.048000             🧑  作者: Mango

Spring – 如何从属性文件中加载字面量值

字面量中的Java是布尔、数字、字符或字符串数据的合成表示。它是在程序中表达特定值的一种媒介,比如一个名为''/count的整数变量在下面的语句中被赋值为一个整数值。

int x = 100; 
// Here 100 is a constant/literal.

插图:字符串字面量。

String s = "Hello";

属性文件

属性文件用于将与应用程序相关的属性写入该文件。该文件包含在不同环境中运行应用程序所需的不同配置,并且每个环境将具有由它定义的不同属性。在应用程序属性文件中,我们定义了每种类型的属性,例如更改端口、数据库连接、与 eureka 服务器的连接等等。现在让我们看看如何在 Spring 应用程序中从属性文件中加载字面量值

实施:项目

首先,让我们创建一个简单的 Spring Application 并通过 setter 注入来注入字面量值。因此,创建一个简单的 Student 类,它具有三个属性 rollNo、name 和 age。为这两个属性创建 setter 方法和打印学生详细信息的简单方法。

例子:

Java
// Java Program to Illustrate Student Class
  
// Class
public class Student {
  
    // Class data members
    private int rollNo;
    private String name;
    private int age;
  
    // Getters and setters
  
    public void setRollNo(int rollNo)
    {
        this.rollNo = rollNo;
    }
  
    public void setName(String name)
    {
  
        // This keyword refers to current instance itself
        this.name = name;
    }
  
    public void setAge(int age) { this.age = age; }
  
    // Method
    public void display()
    {
        System.out.println("Roll No: " + rollNo);
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}


XML


  
    
        
        
        
    
  


Java
// Java Program to Illustrate Application File
  
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Application class
public class Main {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Implementing Spring IoC
        // using ApplicationContext
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "beans.xml");
  
        // Getting the bean student
        Student student
            = context.getBean("student", Student.class);
  
        // Calling the methods
        // inside main() method
        student.display();
    }
}


XML


  
    
      
    
        
        
        
    
  


现在让我们在 beans.xml 文件中创建一个 Student Bean,在 bean 中,您必须在 标记中添加属性名称及其对应值。例如,对于这个项目,我们可以这样写


   
   
   

示例: beans.xml 文件

XML



  
    
        
        
        
    
  

所以现在我们的 bean 准备好了。现在让我们创建一个类并在该类中定义 main() 方法。假设我们创建了一个名为 Main 的类,并且我们在该类中定义了 main() 方法。下面是Main 的代码。 Java类。代码中添加了注释以便更好地理解。

例子

Java

// Java Program to Illustrate Application File
  
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Application class
public class Main {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Implementing Spring IoC
        // using ApplicationContext
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "beans.xml");
  
        // Getting the bean student
        Student student
            = context.getBean("student", Student.class);
  
        // Calling the methods
        // inside main() method
        student.display();
    }
}

输出:

Roll No: 101
Name: Sagar
Age: 20

所以我们之前也看过这个例子。这是一个基于 setter 的依赖注入的简单示例。但是现在,有趣的事情来了。这是我们将要讨论的概念,它非常有用。那么让我们再次来到 beans.xml 文件


   
   
   

在属性文件中声明的值是静态值(101、Sagar、20)。现在我们要从属性文件中加载这些特定的值。所以现在让我们在你的类路径中创建一个属性文件,并将文件命名为student-info.properties (对于这个例子,我们这样命名,你可以根据你的需要命名)。在这个文件中,我们要写这样的东西

student.rollNo = 101
student.name = Sagar
student.age = 20

现在我们的属性文件已准备就绪,我们必须将这些值从属性文件加载到 beans.xml 文件。怎么做?所以我们可以写这样的东西




   
   
   

示例:文件:beans.xml

XML



  
    
      
    
        
        
        
    
  

输出:

Roll No: 101
Name: Sagar
Age: 20