Spring框架入门

1.spring概述

1.1什么是spring?

Spring是分层的Java se/ee应用full-stack轻量级开源框架(听说现在流行轻量级),以Ioc(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programmming:面向切面编程)为内核。

1.2为什么是spring?

①提供了SpringMVC和持久层 Spring JDBCTemplate一级业务层事务管理等众多的企业级技术,还能整合开源世界众多著名的第三方框架和类库。

②方便解耦,简化开发

③AOP编程的支持

④方便程序的测试

1.3Spring的体系结构

 

 

2怎么写开发Spring程序(傻瓜版)

2.1开发步骤

1.导入Spring开发的基本坐标(meavn)

<!--导入spring的context坐标,context依赖core、beans、expression-->
<dependencies> 
    <dependency>  
        <groupId>org.springframework</groupId> 
        <artifactId>spring-context</artifactId> 
        <version>5.0.5.RELEASE</version>
    </dependency>
</dependencies>

2.编写Dao接口和实现类

好像没有必要编写接口,先不要管接口

public class UserDaoImpl implements UserDao {  
        @Override  
        public void save() {
        	System.out.println("UserDao save method running....");
	}
}

3.创建Spring核心配置文件

在resource下创建applicationContext.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">


</beans>

4.在配置文件中配置UserDaoImpl

在上面的<beans></beans>标签之间插入需要的内容

注意下面演示了大多数的标签写法,写的时候按需配置

<bean id="vt1" class="domain.Teacher">
    <property name="age" value="33"></property>
    <property name="name" value="王"></property>
</bean>
    <bean id="vt2" class="domain.Teacher"></bean>

<bean>
    //id:在容器中的Bean实例的唯一标识,不允许重复
    //class:要实例化的Bean的全限定名
    //scope:Bean的作用范围,常用的是Singleton和prototype
    <property>//属性注入
        <list>//集合
            <value></value>或<bean></bean>或等等
        </list>
    </property>
    <property>
        <constructor-arg name="" value="">//相当于有参构造函数
        </constructor-arg>
    </property>
    <property name="teacherMap">
      <map>//map好像只能这样初始化,感觉挺麻烦的
        <entry key="t1" value-ref="vt1" ></entry>
        <entry key="t2" value-ref="vt2"></entry>
     </map>
   </property>
    <property name="properties">
        <props>
          <prop key="p1">aaa</prop>
          <prop key="p2">bbb</prop>
          <prop key="p3">ccc</prop>
        </props>
    </property>
</bean>

5.使用Spring的API获得Bean实例

public void test1(){
    ApplictionContext myapp=new ClassPathXmlApplicationContext("applicationContext.xml");

      UserDao userDao = (UserDao) myapp.getBean("userDao");
     userDao.save();
}

3.Spring配置文件

3.1基本配置

默认情况下调用无参构造函数。

id:Bean实例在Spring容器汇总唯一的标示

class:Bean的全限定名称

scop:对象作用范围

 

取值范围说明
singleton默认值,单例的
prototype多例的
requestWEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中
sessionWEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中
global sessionWEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境那么globalSession 相当于 session

①singleton

Bean实例化个数:1个

生命周期:

               对象创建:当应用加载,创建容器时,对象就被创建了

                对象运行:只要容器在,对象一直活着

                对象销毁:当应用卸载,销毁容器时,对象就被销毁了

Bean实例化三种方式

1.无参构造方法实例化

2.工厂静态方法实例化

public class StaticFactoryBean {
    public static UserDao createUserDao(){    
    return new UserDaoImpl();
    }
}

<bean id="userDao" class="com.itheima.factory.StaticFactoryBean" 
      factory-method="createUserDao" />

3.工厂实例方法实例化

工厂的非静态方法返回Bean实例

public class DynamicFactoryBean {  
    public UserDao createUserDao(){        
        return new UserDaoImpl(); 
    }
}
<bean id="factoryBean" class="com.itheima.factory.DynamicFactoryBean"/>
<bean id="userDao" factory-bean="factoryBean" factory-method="createUserDao"/>

Bean的依赖注入概念

依赖注入(Dependency Injection):它是Spring框架核心IOC的具体实现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值