首页 > 编程语言 >java 中required_通过实例学习Spring @Required注释原理

java 中required_通过实例学习Spring @Required注释原理

时间:2023-04-01 19:58:49浏览次数:47  
标签:www java Spring required http springframework context org schema

@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。下面显示的是一个使用 @Required 注释的示例。

示例:

让我们使 Eclipse IDE 处于工作状态,请按照下列步骤创建一个 Spring 应用程序:

步骤 描述

1 创建一个名为 SpringExample 的项目,并且在所创建项目的 src 文件夹下创建一个名为 com.tutorialspoint 的包。

2 使用 Add External JARs 选项添加所需的 Spring 库文件,就如在 Spring Hello World Example 章节中解释的那样。

3 在 com.tutorialspoint 包下创建 Java 类 Student 和 MainApp。

4 在 src 文件夹下创建 Beans 配置文件 Beans.xml。

5 最后一步是创建所有 Java 文件和 Bean 配置文件的内容,并且按如下解释的那样运行应用程序。

下面是 Student.java 文件的内容:
 

package com.tutorialspoint;

import org.springframework.beans.factory.annotation.Required;

public class Student {

private Integer age;

private String name;

@Required

public void setAge(Integer age) {

this.age = age;

}

public Integer getAge() {

return age;

}

@Required

public void setName(String name) {

this.name = name;

}

public String getName() {

return name;

}

}

下面是 MainApp.java 文件的内容:

package com.tutorialspoint;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {

public static void main(String[] args) {

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

Student student = (Student) context.getBean("student");

System.out.println("Name : " + student.getName() );

System.out.println("Age : " + student.getAge() );

}

}

下面是配置文件 Beans.xml: 文件的内容:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

一旦你已经完成的创建了源文件和 bean 配置文件,让我们运行一下应用程序。如果你的应用程序一切都正常的话,这将引起 BeanInitializationException 异常,并且会输出一下错误信息和其他日志消息:

Property 'age' is required for bean 'student'

下一步,在你按照如下所示从 “age” 属性中删除了注释,你可以尝试运行上面的示例:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

现在上面的示例将产生如下结果:

Name : Zara

Age : 11
 

标签:www,java,Spring,required,http,springframework,context,org,schema
From: https://www.cnblogs.com/2324hh/p/17279200.html

相关文章

  • java 中required_通过实例学习Spring @Required注释原理
    @Required注释应用于bean属性的setter方法,它表明受影响的bean属性在配置时必须放在XML配置文件中,否则容器就会抛出一个BeanInitializationException异常。下面显示的是一个使用@Required注释的示例。示例:让我们使EclipseIDE处于工作状态,请按照下列步骤创建一个......
  • 每日总结--2023/3/31(解决了数据库连接不正常的问题,完成了javaweb暂时的配置)
    今天耗费一天的时间总算是找到了问题所在.问题出在mysqlServlet的版本上。在重装系统前,我所装的mysqlSevlet版本是5.0左右的,所以连接数据库的驱动也是5.0,包括url,而在重装系统后我的mysqlSevlet版本是8.0以上的,所以用原来的语句是不正确的,要修改为8.0版本的才能够运行,同......
  • springmvc中前端调用controller方法路径问题
          以前学习springmvc时没有理解前端访问controller中方法路径问题,做项目时刚好遇到,百度了一下没有找到想要的答案,后来突然就顿悟了。。。。。,虽然很基础但还是记录了一下,大佬请见谅。controller中主要用@RequestMapping注解来定义访问路径,一般定义一个类加载路径......
  • springmvc中前端调用controller方法路径问题
          以前学习springmvc时没有理解前端访问controller中方法路径问题,做项目时刚好遇到,百度了一下没有找到想要的答案,后来突然就顿悟了。。。。。,虽然很基础但还是记录了一下,大佬请见谅。controller中主要用@RequestMapping注解来定义访问路径,一般定义一个类加载路径......
  • spring之自动装配bean
    ​ 1、通过xml设置自动装配:实体类: xml文件: autowire可改为:autowire="byType" 2、通过注解方式实现自动装配:先加入约束:xmlns:context="http://www.springframework.org/schema/context"加上标签开启:<context:annotation-config/> xml文件: 实体类......
  • spring之自动装配bean
    ​ 1、通过xml设置自动装配:实体类: xml文件: autowire可改为:autowire="byType" 2、通过注解方式实现自动装配:先加入约束:xmlns:context="http://www.springframework.org/schema/context"加上标签开启:<context:annotation-config/> xml文件: 实体类......
  • Spring 如何开启基于注解的自动装配?
    要使用​​@Autowired​​​,需要注册​​AutowiredAnnotationBeanPostProcessor​​,可以有以下两种方式来实现:引入配置文件中的​​<bean>​​​下引入​​<context:annotation-config>​​ <beans>  <context:annotation-config/></beans> 在bean配置文件中直接......
  • Spring 如何开启基于注解的自动装配?
    要使用​​@Autowired​​​,需要注册​​AutowiredAnnotationBeanPostProcessor​​,可以有以下两种方式来实现:引入配置文件中的​​<bean>​​​下引入​​<context:annotation-config>​​ <beans>  <context:annotation-config/></beans> 在bean配置文件中直接......
  • 什么是 Spring Batch?
    SpringBootBatch提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,作业重新启动,跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业。简单以及复杂的大批量批处理作业可以高度可扩......
  • 什么是 Spring Batch?
    SpringBootBatch提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,作业重新启动,跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业。简单以及复杂的大批量批处理作业可以高度可扩......