前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring 4 Hello World 例子(带源码)

Spring 4 Hello World 例子(带源码)

作者头像
明明如月学长
发布2021-08-27 15:30:50
3830
发布2021-08-27 15:30:50
举报

原文地址:http://websystique.com/spring/spring-4-hello-world-example-annotation-tutorial-full-example/

【项目代码,在文章末尾提供下载地址】

【翻译 by  明明如月 QQ 605283073】

下一篇:

Spring Beans 自动装配 使用XML配置列子(带源码)

本教程展示基于 Spring Annotation (aka javaConfig)的 Spring 4 Hello world,介绍 Spring 4 的基本概念和用法. 作为对比XML配置方式的例子也提供了出来. 我们将使用 Maven 基于Spring 4.0.6.RELEASE来创建项目.

-------------------------------------------------------------

使用以下技术和软件:

  • Spring 4.0.6.RELEASE
  • Maven 3
  • JDK 1.6
  • Eclipse JUNO Service Release 2
项目目录结构
第1步: 在Maven的pom.xml配置文件中添加Spring依赖

作为一个基于maven的项目。所有的依赖都在pom.xml中配置

代码语言:javascript
复制
    4.0.0
    com.websystique.spring
    Spring4HelloWorldExample
    1.0.0
    jar
 
    Spring4HelloWorldExample
 
    
        4.0.6.RELEASE
    
 
    
        
            org.springframework
            spring-core
            ${springframework.version}
        
        
            org.springframework
            spring-context
            ${springframework.version}
        
    
    
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    3.2
                    
                        1.6
                        1.6

我们只添加了Spring core 以及Spring context 依赖。本例中用到的 Annotation(注解)属于:spring-context。

第2步:创建一个POJO类

Spring提倡弱耦合以及面向接口编程。创建一个 POJO接口以及实现。此POJO将作为spring的bean.

代码语言:javascript
复制
package com.websystique.spring.domain;
 
public interface HelloWorld {
 
    void sayHello(String name);
}
代码语言:javascript
复制
package com.websystique.spring.domain;
 
public class HelloWorldImpl implements HelloWorld{
 
    public void sayHello(String name) {
        System.out.println("Hello "+name);
    }
 
}
第3步: 创建Spring配置类
Spring配置类包含你应用中需要的bean的定义。@Configuration注解在类上,将其作为spring配置类。
@Bean注解的方法,定义了被spring容器管理的bean.
代码语言:javascript
复制
package com.websystique.spring.configuration;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Description;
 
@Configuration
public class HelloWorldConfig {
 
    @Bean(name="helloWorldBean")
    @Description("This is a sample HelloWorld Bean")
    public HelloWorld helloWorld() {
        return new HelloWorldImpl();
    }
 
}
 
 
  
   
 @Description 是 Spring4中提供的新的注解,目的是为追踪而为bean提供的一个文本解释。 
  
 
   
 上面对应的xml配置方式helloworld-config.xml 
 
 
    
  
 
 
   
   
  
  
 第4步: 创建带Main方法的Java应用 
 package com.websystique.spring;
 
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
 
import com.websystique.spring.configuration.HelloWorldConfig;
import com.websystique.spring.domain.HelloWorld;
 
public class AppMain {
 
    public static void main(String args[]) {
        AbstractApplicationContext context = new AnnotationConfigApplicationContext(HelloWorldConfig.class);
        HelloWorld bean = (HelloWorld) context.getBean("helloWorldBean");
        bean.sayHello("Spring 4");
        context.close();
    }
 
}
 
 
  
 AnnotationConfigApplicationContext 根据带有@Configuration 注解的类类创建Spring Application Context (Spring应用上下文)。 
  
 通过getBean 方法来获取Spring应用上下文中的特定bean .然后执行其中的方法: 
 HelloWorld bean = (HelloWorld) context.getBean("helloWorldBean");
bean.sayHello("Spring 4"); 
 
   
 
 运行之后将产生如下输出: 
 Hello Spring 4 
   
 上面的例子如果基于XML方式如下: 
 package com.websystique.spring;
 
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import com.websystique.spring.domain.HelloWorld;
 
public class AppMain {
 
    public static void main(String args[]) {
        AbstractApplicationContext context = new ClassPathXmlApplicationContext("helloworld-config.xml");
        HelloWorld bean = (HelloWorld) context.getBean("helloWorldBean");
        bean.sayHello("Spring 4");
        context.close();
 
    }
 
} 
 
 helloworld-config.xml在上面第3步中提到过。应该放在/src/main/resources这个类路径下。 
   
 项目代码下载:http://websystique.com/?smd_process_download=1&download_id=778 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/05/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring Beans 自动装配 使用XML配置列子(带源码)
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档