美文网首页
Spring base

Spring base

作者: 薛云龙 | 来源:发表于2016-10-15 14:32 被阅读9次

springIOC定义:spring容器控制对象的创建,初始化,销毁(控制反转),容器控制程序之间的关系,把控件权交给了外部容器

**spring对象的创建 **
配置文件:

1.applicationContext.xml并放在classes文件目录下,即src目录下
<!-- 这里的bean指的是要放入spring容器的类的全名,
id表示等下我们要获取对象使使用的Id。--> 
<bean class="com.xyl.helloSpring" id="hello"></bean>

别名:

<!-- name:表示对应的bean的id值。 alias:通过这个名字也能找到该id对应的类-->
  <alias name="hello" alias="找到对象"/>

测试

public class testHelloSpring { 
@Test public void test1(){
 //启动spring容器 
ApplicationContext applicationContext=new 
ClassPathXmlApplicationContext("applicationContext.xml"); 
//得到helloSpring对象 helloSpring 
helloSpring=(helloSpring) applicationContext.getBean("hello"); 
//调用相应的方法 helloSpring.hello(); }}

spring对象的创建方式

根据默认构造函数创建对象:如上
根据静态工厂类创建对象 :
静态工厂类:
public class helloFactory { 
public static helloSpring getInstance(){ 
return new helloSpring(); }}
配置文件:
<!-- factory-method:指的是工厂方法 --> 
<bean class="com.xyl.helloFactory.helloFactory" 
id="helloFactory" factory-method="getInstance"></bean>
测试:
//启动spring容器 
ApplicationContext applicationContext=new 
ClassPathXmlApplicationContext("applicationContext.xml"); 
//得到对象,注意这里getBean的id:helloFactory,但是得到的对象却可以是helloSpring ,因为在配置文件中bean我们配置了上面出现的属性:factory-method,
然后spring容器就跟我们调用静态工厂方法那样,直接通过类名调用,然后获得对象 
helloSpring helloSpring=(helloSpring) applicationContext.getBean("helloFactory"); 
//调用方法 
helloSpring.hello();
根据实例工厂类创建对象 

相关文章

  • spring5.x-rabbitmq 高级篇

    spring-rabbitmq 此模块是从spring5x-base 基础模块扩展过来的spring5x-base...

  • spring5.x-rabbitmq 基础

    spring-rabbitmq 此模块是从spring5x-base 基础模块扩展过来的spring5x-base...

  • spring5x-mybatis-base

    Spring5x-mybatis-base此模块是从spring5x-base 基础模块扩展过来的spring5x...

  • spring5.x-task

    spring5.x-task此模块是从spring5x-base 基础模块扩展过来的 spring5x-base模...

  • spring5x-hibernate5-base

    spring5x-hibernate5-base 此模块是从spring5x-base 基础模块扩展过来的spri...

  • Spring base

    springIOC定义:spring容器控制对象的创建,初始化,销毁(控制反转),容器控制程序之间的关系,把控件权...

  • spring5x-jdbc-database

    spring5x-jdbc-database 此模块是从spring5x-base 基础模块扩展过来的spring...

  • spring5x-hibernate5-senior

    spring5x-hibernate5-senior 此模块是从spring5x-hibernate5-base ...

  • spring5.x-memcached

    spring5.x-memcached 此模块是从spring5x-base 基础模块扩展过来的spring5x-...

  • spring5.x-springmvc

    spring5.x-springmvc此模块是从spring5x-base 基础模块扩展过来的spring5x-b...

网友评论

      本文标题:Spring base

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