hello world spring ioc——第一个spring程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hello world spring ioc——第一个spring程序相关的知识,希望对你有一定的参考价值。

认真对待学习

最近又重新阅读了spring官方文档 对里面的有用的高频的配进行记录和分享。

简介

控制反转(IoC)又被称作依赖注入(DI)。它是一个对象定义其依赖的过程,它的依赖也就是与它一起合作的其它对象,这个过程只能通过构造方法参数、工厂方法参数、或者被构造或从工厂方法返回后通过settter方法设置其属性来实现。然后容器在创建bean时注入这些依赖关系。这个过程本质上是反过来的,由bean本身控制实例化,或者直接通过类的结构或Service定位器模式定位它自己的依赖,因此得其名曰控制反转。

容器

spring 中的org.springframework.context.ApplicationContext容器接口,在独立的应用中通常创建ClassPathXmlApplicationContext或者FileSystemXmlApplicationContext的实例,它们实现了ApplicationContext接口。一般的应用场景中不会现行的创建spring容器,如web环境。。。。但是再练习中最简单的就是使用简单的Java应用来学习,也可以帮助以后对配置的理解。

元数据

  元数据一般是通过xml的方式来配置,spring2.5以后的版本支持使用注解的方式,spring3.0之后的版本支持java接口的配置,但是这两种配置方式都违反代码与配置分离的原则,同时xml的方式提供的配置更加多样化,所以我不太建议使用(不过使用注解的方式可以提高开发效率)。下文中的的例子中我们使用的都是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.xsd">

    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <!-- more bean definitions go here -->

</beans>

这是spring bean的最简单配置。id是该bean的唯一标识,class是这个bean的类,让我们搭建我们第一个helloworld。

jar

想使用spring ioc,首=首相要引入spring ioc的jar包

pom.xml

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.9.RELEASE</version>
        </dependency>

 

建立元数据

public class Event {
    private Long id;

    private String title;
    private Date date;

    public Event() {
        // this form used by Hibernate
    }

    public Event(String title, Date date) {
        // for application use, to create new events
        this.title = title;
        this.date = date;
    }

    public Long getId() {
        return id;
    }

    private void setId(Long id) {
        this.id = id;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}

 

配置xml 名称event.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.xsd">

    <bean id="event" class="全写包名.Event">
        <!-- collaborators and configuration for this bean go here -->
    </bean>
    
  

    <!-- more bean definitions go here -->

</beans>

 

测试类

public class SpringTest {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring_bean_cfg.xml");
        Event bean = context.getBean(Event.class);
    
        System.out.println(bean);
    
        
    }

}

 

运行结果。

于是spring帮我们建立了一个Event对象。

这就是一个spring入门下一节 我们对里面的关键点分析一下。

以上是关于hello world spring ioc——第一个spring程序的主要内容,如果未能解决你的问题,请参考以下文章

Spring hello world

TodoSpring的学习(IoC)等

spring IOC 注入构造方法参数

Spring学习1:初识控制反转(IOC)——Hello,Spring

译Spring 4 Hello World例子

spring boot Hello World