Spring 系列之 Bean 注解用法介绍

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

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

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

org.springframework spring-context 5.3.9

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 + '\'' +
'}';
}
}

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, "北京");
}
}

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>

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);
}
}

}

6、运行效果:

责任编辑:武晓燕 来源: IT技术分享社区
相关推荐

2022-02-20 07:28:13

Spring注解用法

2024-02-23 10:33:34

SpringBean容器

2022-03-03 07:34:31

注解容器作用域

2022-05-27 08:25:55

容器Spring

2021-09-16 10:05:09

鸿蒙HarmonyOS应用

2023-04-28 12:37:59

Spring@Bean使用方式

2023-04-23 09:50:50

@BeanSpring

2019-07-02 11:01:35

SpringBean配置

2023-08-04 08:25:03

客户配置Spring

2021-07-09 07:52:34

SpringContextEventListen

2016-09-21 14:17:11

JUnit架构API

2016-09-23 10:34:32

JUnitGradleAgile

2022-06-09 07:27:14

JavaSpring容器

2022-05-30 11:17:44

Spring容器配置

2024-01-03 07:57:11

高级参数PowerShellVerbose 参数

2023-09-21 07:06:17

PSDriveProvider

2022-12-22 08:14:54

2020-10-14 06:23:54

SpringBean实例化

2016-09-23 10:20:22

JUnit扩展模型Extension

2021-05-06 18:17:52

SpringAOP理解
点赞
收藏

51CTO技术栈公众号