Eclipse 配置第一个Spring Framework项目 with Maven

Spring框架是企业后端开发常用框架,作为一个Java工程师,这个框架几乎是必会的,下面就来一篇小白向的文章,用官网上的例子spring框架官网带大家来开发第一个Spirng Framework程序。

IDE:Eclipse Oxygen
Build Tool:Maven

首先安装好这Eclipse Java EE,不是最新的也行,然后配置好Maven,这个网上可以搜到教程,本文重点不在这,所以不赘述。

新建一个Maven工程,选择quick start,
Eclipse 配置第一个Spring Framework项目 with Maven_第1张图片

然后填写好项目的基本信息,点击 Finish,
Eclipse 配置第一个Spring Framework项目 with Maven_第2张图片

下面是这个工程的目录:
Eclipse 配置第一个Spring Framework项目 with Maven_第3张图片

首先,在pom.xml中加入Spring框架的依赖关系,让maven导入spring相关的包,注意dependencies和dependency的区别

<dependencies>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-contextartifactId>
        <version>4.3.10.RELEASEversion>
    dependency>
dependencies>

在我的项目中,maven事先导入了Junit的包,所以截图是这样的:
Eclipse 配置第一个Spring Framework项目 with Maven_第4张图片

ctrl + s,maven就会帮你导入包了。

下面在src目录下新建一个接口MessageService,其中提供了一个getMessage方法

package com.hualuo.FirstSpringFramework;

public interface MessageService {
    String getMessage();
}

新建MessagePrinter类,作为消息的打印者,里面组合了一个MessageService成员。

package com.hualuo.FirstSpringFramework;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MessagePrinter {
    private final MessageService service;

    @Autowired
    public MessagePrinter(MessageService service) {
        this.service = service;
    }

    public void printMessage() {
        System.out.println(this.service.getMessage());
    }
}

在 App类中填入代码:

package com.hualuo.FirstSpringFramework;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * Hello world!
 *
 */
@Configuration
@ComponentScan
public class App {

    @Bean
    MessageService mockMessageService() {
        return new MessageService() {

            public String getMessage() {
                // TODO Auto-generated method stub
                return "Hello world!";
            }
        };
    }

    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(App.class);
        MessagePrinter printer = context.getBean(MessagePrinter.class);
        printer.printMessage();
    }
}

简单分析:
@Autowired表示自动装配,@Bean表示标志为Bean,当context调用getBean的时候,就将注解为@Bean的mockMessageService方法返回的MessageService注入到MessagePrinter的setter方法中,从而实现自动注入,从而getBean返回了MessagePrinter对象,最终输出”Hello world!”

这里写图片描述

你可能感兴趣的:(spring)