Spring 注入其他对象

来源:互联网 发布:开战传奇网站源码 编辑:程序博客网 时间:2024/05/16 14:55

– Start

package shangbo.spring.example28;public interface MessageService {    String getMessage();}
package shangbo.spring.example28;public class MessageServiceImpl implements MessageService {    public String getMessage() {        return "Hello World";    }}
package shangbo.spring.example28;public class MessagePrinter {    final private MessageService service;    public MessagePrinter(MessageService service) {        this.service = service;    }    public void printMessage() {        System.out.println(this.service.getMessage());    }}
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="messageService" class="shangbo.spring.example28.MessageServiceImpl"/>    <!--         通过 ref 注入其他对象     -->    <bean class="shangbo.spring.example28.MessagePrinter">        <constructor-arg ref="messageService"/>    </bean></beans>
package shangbo.spring.example28;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {    public static void main(String[] args) {        // 实例化 Spring IoC 容器        ApplicationContext context = new ClassPathXmlApplicationContext("example.xml", MessagePrinter.class);        // 从容器中获得 MessagePrinter 的实例        MessagePrinter printer = context.getBean(MessagePrinter.class);        // 使用对象        printer.printMessage();    }}

更多参见:Spring Framework 精萃
– 声 明:转载请注明出处
– Last Updated on 2017-05-22
– Written by ShangBo on 2017-05-22
– End

原创粉丝点击