Spring4的详细介绍

本篇文章的demo基于spring官网入门案例。当然,我做了一些改变。

我的maven web项目结构如下:

在pom.xml中添加spring的依赖:

接下来我们开始创建需要用到的类:

package com.mm.service;public interface MessageService {String getMessage();}

 

package com.mm.service.impl;import com.mm.service.MessageService;public class MessageServiceImpl implements MessageService{@Overridepublic String getMessage() {return "hello mm";}}

这里我不用spring配置文件形式的注入,于是,我新建了一个配置文件类

package com.mm.main.spring;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import com.mm.service.MessageService;import com.mm.service.impl.MessageServiceImpl;@Configuration@ComponentScan(basePackages = "com.mm")public class ApplicationConfig {    @Bean    MessageService messageService() {        return new MessageServiceImpl();    }}

新建一个bean来调用服务

package com.mm.main.spring;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import com.mm.service.MessageService;@Componentpublic class MessagePrinter {@Autowiredprivate MessageService messageService;public void printMessage() {        System.out.println(this.messageService.getMessage());    }}

最后完成客户端的编写工作

package com.mm.main.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Client {public static void main(String[] args) {ApplicationContext context=new AnnotationConfigApplicationContext(ApplicationConfig.class);MessagePrinter messagePrinter=context.getBean(MessagePrinter.class);messagePrinter.printMessage();}}

后台打印如下:

接下来我们用注解的方式注入,首先去掉配置文件类中的MessageService bean

@Configuration@ComponentScan(basePackages = "com.mm")public class ApplicationConfig {//    @Bean//    MessageService messageService() {//        return new MessageServiceImpl();//    }}

为MessageServiceImpl添加注解

@Service//注解方式public class MessageServiceImpl implements MessageService{    @Overridepublic String getMessage() {return "hello mm";    }}

同样完成输出

以上就是Spring4的详细介绍的详细内容,更多请关注其它相关文章!

当明知不可挽回,唯一补偿的方法就是怀念,

Spring4的详细介绍

相关文章:

你感兴趣的文章:

标签云: