1、spring注解学习(组件注册)——@Configuration、@Bean给容器中注册组件

1、创建一个maven工程

  

 

 

 2、创建一个Person类

 

 

 3、导入spring-context依赖

导入依赖后:

 

 

 

 

一:配置文件注册一个Bean的方式:

  1、创建一个全局spring配置文件

 

 

   2、在配置文件中注册一个Person

<?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:aop="http://www.springframework.org/schema/aop"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
        
        <bean id="person" class="com.atguigu.bean.Person">
            <property name="age" value="18"></property>
            <property name="name" value="zhangsan"></property>
        </bean>
</beans>

  3、创建一个测试类,方法里写获取Bean的代码

    //配置文件方式
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
        Person person = (Person) applicationContext.getBean("person");
        System.out.println(person);

 

二、配置类注册一个Bean的方式

 1、创建spring的全局配置类

 

   2、在配置类里进行注解配置

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.atguigu.bean.Person;

//配置类==配置文件
@Configuration        //告诉Spring这是一个配置类
public class MainConfig {
    
    //给容器注册一个Bean;类型为返回值类型(bean的id默认是用方法名作为id)
    //@Bean("")增加内容后指定bean的id
    @Bean("person")
    public Person person() {
        return new Person("张三", 19);
    }
}

  3、注解方式获取Bean

    ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);
        Person person = applicationContext.getBean(Person.class);
        System.out.println(person);

 

posted @ 2020-03-07 14:59  Arbitrary233  阅读(202)  评论(0编辑  收藏  举报