欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Spring4的详细介绍

程序员文章站 2022-04-01 11:44:53
...
本篇文章的demo基于spring官网入门案例。当然,我做了一些改变。

我的maven web项目结构如下:

Spring4的详细介绍

在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{
	@Override
	public 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;

@Component
public class MessagePrinter {
	@Autowired
	private 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();
	}
}

后台打印如下:

Spring4的详细介绍

接下来我们用注解的方式注入,首先去掉配置文件类中的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的详细介绍的详细内容,更多请关注其它相关文章!