美文网首页
极简的 Spring Demo

极简的 Spring Demo

作者: 小叶与小茶 | 来源:发表于2018-03-06 23:31 被阅读17次

多年的管理工作,渐渐忘记了技术研发的快感。产业最近发掘的新方向,对自己来说也是一次难得的转身,于是在2018年的春节,终于下定决心逃离“舒适区”。一大把年纪,这次选择着实带来了不小的压力。为了延续职业生涯,也为了发自内心的快乐,80后IT老飞侠满血复活。

下面是正文,不再感慨和废话

Spring对很多人来说早已不是新技术,但由于业务领域不同,对我来说却足以带来很多兴奋感。今天以一个极简的Demo开始记录2018年的满血转身。

Spring Framework有两个关键的概念:

1)依赖注入(Dependency Injection):通过配置或注解方式,委托Spring Framework进行对象管理,是IoC的一种实现方式。
2)面向切面(Aspect Oriented Programming):通过配置或注解的方式,将分散到应用各处的行为放到可重用的模块中,减少代码冗余。

这是一个使用Spring Framework,通过XML配置进行依赖注入的极简Demo。

Demo包含1个接口和2个类,它们的关系如下图所示:

HelloSpring Interface代码如下:

package com.study.spring;  
  
public interface HelloSpring {  
    public String sayHello();  
}  

HelloSpringImpl Class代码如下:

package com.study.spring;  
  
public class HelloSpringImpl implements HelloSpring{  
    public String sayHello() {  
        return "Hello Spring";  
    }  
}  

Main Class代码如下:

package com.study.spring;  
  
import org.springframework.context.ApplicationContext;   
import org.springframework.context.support.ClassPathXmlApplicationContext;  
  
public class Main {  
    public static void main(String[] args) {  
          
        //Create IoC container through XML  
        ApplicationContext apc = new ClassPathXmlApplicationContext("HelloSpring.xml");    
          
        //A HelloSpringImpl instance injected   
        HelloSpring hello = apc.getBean("helloSpring", HelloSpring.class);    
          
        System.out.println(hello.sayHello());  
    }  
  
}  

HelloSpring XML代码如下:

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"     
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
       xsi:schemaLocation="http://www.springframework.org/schema/beans      
                           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">    
      
    <bean id="helloSpring" class="com.study.spring.HelloSpringImpl"></bean>    
    
</beans> 

在XML文件中,配置了一个ID为“helloSpring”的Bean,其类定义是“HelloSpringImpl”。在Main中,创建一个容器来保存Spring Framework创建的Bean实例,并通过“getBean()”方法获取对象引用。在整个过程中,“HelloSpringImpl”对象的创建完全由Spring Framework负责,业务代码只负责使用即可,这就是最简单的IoC过程。

运行Main结果如下,欣喜的打印出“Hello Spring”:

3月 06, 2018 7:57:55 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh  
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7fac631b: startup date [Tue Mar 06 19:57:55 CST 2018]; root of context hierarchy  
3月 06, 2018 7:57:55 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions  
信息: Loading XML bean definitions from class path resource [HelloSpring.xml]  
Hello Spring  

有趣的旅程刚刚开始,晚安

相关文章

网友评论

      本文标题:极简的 Spring Demo

      本文链接:https://www.haomeiwen.com/subject/ogddfftx.html