Spring 系列之 Bean 注解用法介绍

今天给大家介绍一下Spring中Bean注解的用法,后续的文章给大家介绍Sping其他注解用法,希望
首页 新闻资讯 行业资讯 Spring 系列之 Bean 注解用法介绍

今天给大家介绍一下Spring中Bean注解的用法,后续的文章给大家介绍Sping其他注解用法,希望对大家日常工作能有所帮助!

1、首先创建一个maven项目引入spring依赖

复制

org.springframework spring-context 5.3.9
  • 1.

2、新建一个person.java 实体类

复制

package com.spring.bean;public class Person {private String name;private Integer age;private String address;public Person(String name, Integer age, String address) {this.name = name;this.age = age;this.address = address;}public Person() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Override
    public String toString() {return "Person{" +"name='" + name + '\'' +", age='" + age + '\'' +", address='" + address + '\'' +'}';}}
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

  • 28.

  • 29.

  • 30.

  • 31.

  • 32.

  • 33.

  • 34.

  • 35.

  • 36.

  • 37.

  • 38.

  • 39.

  • 40.

  • 41.

  • 42.

  • 43.

  • 44.

  • 45.

  • 46.

  • 47.

  • 48.

  • 49.

3、新建配置类 TestBeanConfig.java

复制

package com.spring.config;import com.spring.bean.Person;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration
public class TestBeanConfig {/*@Bean作用是注册一个Bean,类型为返回值的类型,默认是使用方法名作为id,可以自己定义     * value 可以自定义id,默认和方法名一致     * */@Bean(value = "person1")public Person person() {return new Person("小王", 35, "北京");}}
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

4、resources 创建配置文件

复制

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"   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.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="java"></context:component-scan><bean id="person" class="com.spring.bean.Person"><property name="name" value="小明"></property><property name="age" value="30"></property><property name="address" value="苏州"></property></bean></beans>
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

5、新建测试类TestBean.java 具体展示注解方式和配置方式的示例

复制

package com.spring.test;import com.spring.bean.Person;import com.spring.config.TestBeanConfig;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBean {public static void main(String[] args) {//配置文件方式
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("person.xml");Person bean = (Person) applicationContext.getBean("person");System.out.println("配置方式:");System.out.println(bean);// 注解方式 AnnotationConfigApplicationContext 注解的方式获取spring容器
        AnnotationConfigApplicationContext annotationContext = new AnnotationConfigApplicationContext(TestBeanConfig.class);Person annotationPerson = (Person) annotationContext.getBean("person1");System.out.println("注解方式:");System.out.println(annotationPerson);// 用来获取Spring容器中指定类型的所有JavaBean的名称
        String[] beanNamesForType = annotationContext.getBeanNamesForType(Person.class);for (String item : beanNamesForType) {System.out.println(item);}}}
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

6、运行效果:

0726ea492829ee3e8ab2490b452f3f47f6ecc7.webp

22    2022-02-19 07:41:36    Bean 注解 项目