如何以 3 种不同的方式创建 Spring Bean?
Spring 是最流行的Java EE 框架之一。它是一个开源轻量级框架,允许Java EE 7 开发人员构建简单、可靠且可扩展的企业应用程序。该框架主要侧重于提供各种方法来帮助您管理业务对象。与Java数据库连接 (JDBC)、JavaServer Pages (JSP) 和Java Servlet 等经典Java框架和应用程序编程接口 (API) 相比,它使 Web 应用程序的开发更加容易。在 Spring 中,构成应用程序主干并由 Spring IoC 容器管理的对象称为beans 。 bean 是由 Spring IoC 容器实例化、组装和管理的对象。
创建 Spring Bean 的不同方法
在这里,我们将讨论如何以 3 种不同的方式创建 Spring Bean,如下所示:
- 在 XML 配置文件 (beans.xml) 中创建 Bean
- 使用@Component 注解
- 使用@Bean 注解
方法 1:在 XML 配置文件 (beans.xml) 中创建 Bean
创建 Spring bean 最流行的方法之一是在 XML 配置文件中定义一个 bean,如下所示。
让我们创建一个具有两个属性 id 和 studentName 的简单类 Student,然后创建一个简单的方法来打印学生的详细信息。
例子
Java
// Java Program to Illustrate Student Class
// Class
public class Student {
// Class data members
private int id;
private String studentName;
// Method
public void displayInfo()
{
// Print statement
System.out.println("Student Name is " + studentName
+ " and Roll Number is " + id);
}
}
XML
Java
// Java Program to Illustrate College Class
package ComponentAnnotaion;
// Class
public class College {
// Method
public void test()
{
// Print statement
// whenever this method is called
System.out.println("Test College Method");
}
}
Java
// Java Program to Illustrate College Class
package ComponentAnnotaion;
// Importing required classes
import org.springframework.stereotype.Component;
@Component("collegeBean")
// Class
public class College {
// Method
public void test()
{
// Print statement
System.out.println("Test College Method");
}
}
Java
package BeanAnnotaion;
import org.springframework.stereotype.Component;
public class College {
public void test(){
System.out.println("Test College Method");
}
}
Java
package ComponentAnnotaion;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
public class CollegeConfig {
}
Java
// Java Program to Illustrate Configuration in College Class
package BeanAnnotaion;
// Importing required classes
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class CollegeConfig {
// Using Bean annotation to create
// College class Bean
@Bean
// Here the method name is the
// bean id/bean name
public College collegeBean()
{
// Return the College object
return new College();
}
}
现在让我们在项目类路径中创建一个名为beans.xml的 XML 文件。在这个 beans.xml 文件中,我们必须像这样定义我们的 Student bean。就是这样。这样就可以在spring中创建bean了。
例子
XML
方法二:使用@Component注解
Spring Annotations 是一种元数据形式,提供有关程序的数据。注释用于提供有关程序的补充信息。它对他们注释的代码的操作没有直接影响。它不会改变编译程序的动作。 @Component是一个注解,它允许 Spring 自动检测自定义 bean。
示例:假设我们已经有一个Java项目,并且所有 Spring JAR 文件都导入到该项目中。现在让我们创建一个名为 College 的简单类,在该类中,我们有一个简单的方法。以下是学院的代码。 Java文件。
A.档案:大学。Java
Java
// Java Program to Illustrate College Class
package ComponentAnnotaion;
// Class
public class College {
// Method
public void test()
{
// Print statement
// whenever this method is called
System.out.println("Test College Method");
}
}
现在让我们为这个类创建一个 Bean。所以我们可以使用@Component注解来完成同样的任务。所以我们可以修改我们的学院。 Java文件是这样的。就是这样。
B.大学。Java
Java
// Java Program to Illustrate College Class
package ComponentAnnotaion;
// Importing required classes
import org.springframework.stereotype.Component;
@Component("collegeBean")
// Class
public class College {
// Method
public void test()
{
// Print statement
System.out.println("Test College Method");
}
}
方法三:使用@Bean注解
Spring 中最重要的注解之一是@Bean 注解,它应用于方法以指定它返回一个由 Spring 上下文管理的 bean。 Spring Bean 注解通常在配置类方法中声明。
假设我们已经有一个Java项目,并且所有 Spring JAR 文件都导入到该项目中。现在让我们创建一个名为 College 的简单类,在该类中,我们有一个简单的方法。以下是学院的代码。 Java文件。
A.大学。Java
Java
package BeanAnnotaion;
import org.springframework.stereotype.Component;
public class College {
public void test(){
System.out.println("Test College Method");
}
}
现在让我们创建一个名为CollegeConfig的配置类。下面是CollegeConfig 的代码。Java
B. CollegeConfig。Java
Java
package ComponentAnnotaion;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
public class CollegeConfig {
}
在这里,我们将使用@Bean 注解创建 spring bean。要使用配置类中的@Bean 注解创建 College 类 bean,我们可以在CollegeConfig 中编写类似这样的内容。 Java文件。请参阅评论以获得更好的理解。
@Bean
// Here the method name is the
// bean id/bean name
public College collegeBean(){
// Return the College object
return new College();
}
实现:下面是CollegeConfig 的完整代码。 Java文件如下:
Java
// Java Program to Illustrate Configuration in College Class
package BeanAnnotaion;
// Importing required classes
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class CollegeConfig {
// Using Bean annotation to create
// College class Bean
@Bean
// Here the method name is the
// bean id/bean name
public College collegeBean()
{
// Return the College object
return new College();
}
}