首頁  >  文章  >  Java  >  Spring4的詳細介紹

Spring4的詳細介紹

零下一度
零下一度原創
2017-07-20 19:09:272391瀏覽

本篇文章的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{
	@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();
	}
}

後台列印如下:

#接下來我們用註解的方式註入,首先去掉設定檔類別中的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的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn