初学Spring

初学Spring

Spring 之父Rod Johnson

alt

spring核心功能

  1. IoC/DI(控制反转)

    功能:原先由程序员主动通过new来实例化对象,转交给Spring负责。

    作用:解除了对象管理和程序员之间的耦合,解耦

  2. AOP

  3. 声明式事务

  4. 环境搭建
    1. 导入jar包

      四个核心包(Beans,Core,Context,Spel)必须要有

      核心包

    2. 在src下创建applicationContext.xml(文件名和路径可以自定义)

      spring 的配置信息基于schema(DTD的升级版),

      配置文件中只需要引入基本的schema

      <?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/sc hema/beans
      http://www.springframework.org/schema/beans/spring-be ans.xsd">
      <!-- id 表示获取到对象标识
      class 创建哪个类的对象
      -->
      <bean id="peo" class="com.catjava.pojo.People"/>
      </beans>
      
    3. 编写测试方法

      ApplicationContext ac = new
      
      ClassPathXmlApplicationContext("applicationContext.xm l");
      People people = ac.getBean("peo",People.class);
      
      System.out.println(people);
      
spring的三种创建对象的方式
  1. 通过构造方法创建

    • 无参创建:默认情况是无参构建

      	public People() {
      		System.out.println("无参构造方法");
      	}
      
    • 有参创建:

      • 需要在类中提供有参构造方法

        public People(int years, String name, boolean sex) {
        		super();
        		this.years = years;
        		this.name = name;
        		this.sex = sex;
        	}
        
      • 在配置文件(我的是applicationContext.xml )中进行配置

          <bean id="people1" class="com.catjava.pojo.People">
            	<constructor-arg index="0" name="years" type="int" value="18"></constructor-arg>
            	<constructor-arg index="1" name="name" type="String" value="maoyan"></constructor-arg>
            	<constructor-arg index="2" name="sex" type="boolean" value="1"></constructor-arg>
            </bean>
        

        说明:

        index:参数的索引,从0开始

        name:参数名

        type:参数类型

        如果有多个构造方法都匹配,则执行最后一个

  2. 实例工厂创建

    • 先创建工厂

      public class PeopleFactory {
      	public People newInstance(){
      		return new People(19,"maoyan2",true);
      	}
      }
      
    • 在配置文件中配置工厂和所需要的对象

          <!-- 创建工厂对象 -->
          <bean id="factory" class="com.catjava.pojo.PeopleFactory">
          </bean>
          <bean id="people2" factory-bean="factory" factory-method="newInstance"></bean>
      

      factory-bean:指定工厂

      factory-method:指定方法

      在工厂中可以创建不同的方法去实例化不同的对象,这里只有一个方法,所以只指定了那一个方法

  3. 静态工厂创建

    • 不需要创建工厂,快速创建对象

    • 在实例工厂中添加一个静态方法

      public static People newInstance2() {
      		return new People(20,"maoyan3",false);
      	}
      
    • 配置配置文件

       <bean id="people3" class="com.catjava.pojo.PeopleFactory" factory-method="newInstance2"
          ></bean>
      
    • 调用方法

      People people2=PeopleFactory.newInstance2();
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值