码迷,mamicode.com
首页 > 编程语言 > 详细

Spring学习系列(二) 自动化装配Bean

时间:2017-06-09 12:40:40      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ati   通过   bsp   组件   实现类   java类   实例   默认   rgs   

一、Spring装配-自动化装配

@Component和@ComponentScan

通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean。

1、定义接口

package com.seven.springTest.service;

public interface HelloWorldApi {
    public void sayHello();
}

2、定义接口的实现类

package com.seven.springTest.service.impl;

import org.springframework.stereotype.Component;

import com.seven.springTest.service.HelloWorldApi;

@Component    //通过注解指定该类组件类,告知spring要为它创建Bean
public class PersonHelloWorld implements HelloWorldApi {

    @Override
    public void sayHello() {
        System.out.println("Hello World,This Is Person!");
    }
}

3、前面说过了,spring并不能自动启用组件扫描,需要进行显式的配置,这里通过java类来进行显式的配置,定义java配置类HelloWorldConfig,在配置类中我们没有显式的声明任何bean,只不过是使用了@CompontentScan注解来启用组件扫描

package com.seven.springTest;

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

@Configuration
@ComponentScan   // 启用组件扫描
public class HelloWorldConfig {

}

现在所有的工作已经完成,我们来测试下

package com.seven.springTest.main;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.seven.springTest.HelloWorldConfig;
import com.seven.springTest.service.HelloWorldApi;

public class HelloWorldTest {

    public static void main(String[] args) {
        //1. 声明Spring上下文,采用java配置类
        ApplicationContext ac = new AnnotationConfigApplicationContext(HelloWorldConfig.class);
        //2. 声明Spring应用上下文,采用xml配置
        //ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
        //通过Spring上下文获取Bean,在这里Spring通过自动扫描发现了PersonHelloWorld的实现,并自动创建bean。
        HelloWorldApi hwapi = ac.getBean(HelloWorldApi.class);
        //通过sayHello()的输入内容可以看到,hwapi为PersonHelloWorld的实例
        hwapi.sayHello();
    }
}

 

Spring学习系列(二) 自动化装配Bean

标签:ati   通过   bsp   组件   实现类   java类   实例   默认   rgs   

原文地址:http://www.cnblogs.com/fhyl/p/6971382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!