Spring 系列之 Bean 注解用法介紹
作者:郝光明
今天給大家介紹一下Spring中Bean注解的用法,后續(xù)的文章給大家介紹Sping其他注解用法,希望對(duì)大家日常工作能有所幫助!
今天給大家介紹一下Spring中Bean注解的用法,后續(xù)的文章給大家介紹Sping其他注解用法,希望對(duì)大家日常工作能有所幫助!
1、首先創(chuàng)建一個(gè)maven項(xiàng)目引入spring依賴
org.springframework spring-context 5.3.9
2、新建一個(gè)person.java 實(shí)體類
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作用是注冊(cè)一個(gè)Bean,類型為返回值的類型,默認(rèn)是使用方法名作為id,可以自己定義
* value 可以自定義id,默認(rèn)和方法名一致
* */
@Bean(value = "person1")
public Person person() {
return new Person("小王", 35, "北京");
}
}
4、resources 創(chuàng)建配置文件
<?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、新建測(cè)試類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、運(yùn)行效果:
責(zé)任編輯:武曉燕
來源:
IT技術(shù)分享社區(qū)