spring 中 @import的用法

第一步: 新建Java工程    FirstSpringJAVA

第二步:导入相关的spring jar包

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

     <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.1.RELEASE</version>
            <type>jar</type>
        </dependency>  

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.1.RELEASE</version>
            <type>jar</type>
        </dependency>  

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.3.1.RELEASE</version>
            <type>jar</type>
        </dependency>  

第三步: 新建接口

Father.java

package com.xuzhiwen.spring5;

public interface Father {
    public abstract void sing();
}

第四步:新建两个接口实现类

Son1.java

package com.xuzhiwen.spring5;

public class Son1 implements Father{
    @Override
    public void sing() {
        System.out.println("son1 sing()...");
    }
}

Son2.java

package com.xuzhiwen.spring5;

public class Son2 implements Father{
    @Override
    public void sing() {
        System.out.println("son2 sing()...");
    }
}

第五步:编写针对上面两个类的配置文件

Son1Config.java

package com.xuzhiwen.spring5;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Son1Config {

    @Bean(name="son1")
    public Father getFather(){
        return new Son1();
    }
}

Son2Config.java

package com.xuzhiwen.spring5;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Son2Config {

    @Bean(name="son2")
    public Father getFather(){
        return new Son2();
    }
}

第六步: 将两个配置文件的内容合并到一起

AppConfigTogether.java

package com.xuzhiwen.spring5;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({Son1Config.class,Son2Config.class})
public class AppConfigTogether {

}

第七步:编写测试类

Test.java

package com.xuzhiwen.spring5;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Test {
    public static void main(String[] args) {
        ApplicationContext app = new AnnotationConfigApplicationContext(AppConfigTogether.class);
        Father father1 = (Father) app.getBean("son1");
        Father father2 = (Father) app.getBean("son2");
        father1.sing();
        father2.sing();
    }
}

第八步:运行结果如下

第九步: Java文件目录结构如下

时间: 2024-12-17 10:05:46

spring 中 @import的用法的相关文章

Spring中@Cacheable的用法

在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式.不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法.首先,在使用@Cacheable之前,我们要做好准备工作. 第一步:要导入相应的jar包.   <classpathentry kind="lib" path="lib/spring-core-4.1.4.RELEASE.j

spring 中spel 的用法

spel :spring表达式语言 简称(spel)是一个支持运行时查询和操作对象图的强大表达式语言 语法类似el :spel使用 #{...}作为定界符,所有在大括号中的字符都将被认为是spel spel 为bean的属性进行动态赋值提供了便利 通过spel可以实现 a.通过bean'的id对bean进行引用 b.调用方法以及引用对象中的属性 c.计算表达式的值 d.正则表达式的匹配 下面做个小测试 4. xml中的配置 <?xml version="1.0" encoding

spring 中StoredProcedure的用法--转载

StoredProcedure是一个抽象类,必须写一个子类来继承它,这个类是用来简化JDBCTemplate执行存储过程操作的. 首先我们写一个实现类: package com.huaye.framework.dao; import java.sql.Types; import java.util.HashMap; import java.util.Map; import org.springframework.jdbc.core.RowMapper; import org.springfram

Spring中HibernateCallback的用法(转)

Hibernate的复杂用法HibernateCallback HibernateTemplate还提供一种更加灵活的方式来操作数据库,通过这种方式可以完全使用Hibernate的操作方式.HibernateTemplate的灵活访问方式是通过如下两个方法完成: q      Object execute(HibernateCallback action) q      List execute(HibernateCallback action) 这两个方法都需要一个HibernateCallb

Spring中jdbcTemplate的用法实例

一.首先配置JdbcTemplate: 要使用Jdbctemplate 对象来完成jdbc 操作.通常情况下,有三种种方式得到JdbcTemplate 对象.       第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化.也就是它是从外部"注入" DataSource 到DAO 中,然后 自己实例化JdbcTemplate,然后将DataSource 设置到JdbcTemplate 对象中.       第二种

Spring中ApplicationContextAware的用法

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt379 一.这个接口有什么用? 当一个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean.换句话说,就是这个类可以直接获取spring配置文件中,所有有引用到的bean对象. 二.怎么用? 举个例子吧: 例如我有一个方法类AppUtil,这个方法类中需要使用到的Application

Spring 中classPath:用法

参考文章地址: http://hi.baidu.com/huahua035/item/ac8a27a994b55bad29ce9d39 http://blog.csdn.net/lushuaiyin/article/details/6880640 http://jeiofw.blog.51cto.com/3319919/934413 classpath就是代表  /WEB-INF /classes/  这个路径(如果不理解该路径,就把一个web工程发布为war包,然后用winrar查看其包内路径

spring中autowire的用法

Autowire模式就是在spring的声明文件里用作进行对象间的关联关系自动绑定的,就是在spring beanfactory内的一个bean对其bean的引用可以自动进行,而不一定用ref=的方式显式声明.在reference的3.3.6节有详细的介绍,autowire主要有5种模式: 1 no 不使用Autowire,引用关系显示声明,spring的reference也建议不用autoware,因为这会破坏模块关系的可读性,原文如下: Note: as has already been m

五、Spring中的@Import注解

一.使用@Import注解导入组件 @Import注解的作用是给容器中导入组件,回顾下我们给容器中导入组件的方式,可以通过Spring的xm配置方式,可以通过注解,如@Component等,也可以通过java配置类的方式给容器中导入注解,今天来介绍另一个注解,其作用也是给容器中导入组件. 其用法非常简单,我们举个小例子 , 配置类MainConfig2 @Configuration @Import({Color.class,Red.class})//将这两个类导入到容器中 //@Import导入