#非web环境的spring应用

非web环境的spring应用

springframework提供的spring容器,非常适合应用于javaweb环境中。 同时,spring组件的低耦合性为普通java应用提供了足够的支持。

以下,我们通过一个范例来了解spring在普通java application project中的应用。

开发环境及工具

  • JDK 1.8
  • Eclipse - jee - Oxygen3a
  • Maven 3.5.2
  • spring framework 5.1.3

spring特点

  • 上帝类

spring容器就是上帝,需要什么bean只管找它要就是了,甚至可以说,bean的职责是命中注定的。

  • 梦境化

在梦境中,我们几乎从来都不关心我们是如何来到当前场景的,只知道如何应对当前场景的事件。spring应用和这个情况几乎一致。

项目创建并重构(提供spring-framework支持)

  • 新建Maven Project,使用maven-archetype-quickstart 1.1骨架
  • 添加Maven依赖,spring-context

本例中,仅需spring-context依赖即可。 但为了便于后期扩展,直接添加了spring-data-jpa依赖项。

    <!-- 选用2.1.3版本,是为了配合springframework 5.1.3版本 -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>2.1.3.RELEASE</version>
    </dependency>
  • 编写spring配置信息,其实就是编制一大堆的bean,交给spring容器备用

spring支持的配置方式有xml配置和java配置,在此,我们暂且仅用java配置。

java配置,即:注解配置,使用@Configuration注解类,使用@bean注解方法。

    @Configuration
    public class AppConfig {            
        @Bean(name="hello")
        public String hello() {
            return "hello, it is a bean from javaconfig.";
        }       
    }
  • 修改main方法,启用spring容器

    public class App {
        public static void main( String[] args ){
            System.out.println( "Hello World!" );
            ApplicationContext ctx = 
                new AnnotationConfigApplicationContext(AppConfig.class);
    
            System.out.println(ctx.getBean("hello"));
        }
    }

运行结果:

猜你喜欢

转载自www.cnblogs.com/godwithus/p/10437085.html