Java-Spring程序开发

Java-Spring程序开发

  • Spring简介
    • Spring优势
    • Spring体系结构
  • Spring程序开发步骤
    • 导入Spring开发的基本包坐标
    • 编写Dao接口和实现类
    • 创建Spring核心配置文件
    • Spring的开发步骤
  • Spring配置文件
    • Bean标签基本配置
      • Bean标签范围的配置
      • Bean生命周期的配置
      • Bean实例化三种方式
        • 使用无参构造方法实例化
        • 工厂静态方法实例化
        • 工厂非静态方法实例化

Spring简介

Spring是分层的Java SE/EE应用full-strack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现层SpringMVC和持久层Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。

Spring优势

1)方便解耦,简化开发
2)AOP编程的支持
3)声明式事务的支持
4)方便程序的测试
5)方便集成各种优秀框架
6)降低JavaEE API的使用难度
7)Java源码是经典学习范例

Spring体系结构

Java-Spring程序开发_第1张图片

Spring程序开发步骤

1)导入Spring开发的基本包坐标
2)编写Dao接口和实现类
3) 创建Spring核心配置文件
4)在Spring配置文件中配置UserDaoImpl
5) 使用Spring的API获得Bean实例

导入Spring开发的基本包坐标

Java-Spring程序开发_第2张图片

编写Dao接口和实现类

Java-Spring程序开发_第3张图片
Java-Spring程序开发_第4张图片

创建Spring核心配置文件

在类路径下(resources)创建applicationContext.xml配置文件
Java-Spring程序开发_第5张图片

Spring的开发步骤

1)导入坐标
2)创建Bean
3) 创建applicationContext.xml
4) 在配置文件中进行配置
5)创建ApplicationContext对象getBean

Spring配置文件

Bean标签基本配置

用于配置对象交由Spring来创建。默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功。

基本属性:
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名称

Bean标签范围的配置

scope:指对象的作用范围,取值如下:
Java-Spring程序开发_第6张图片
注释:
1)当scope的取值为singleton时
Bean的实例化个数:1个
Bean的实例化时机:当Spring核心文件被加载时,实例化配置的Bean实例
Bean的生命周期:

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

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

  • 对象销毁:当应用卸载,销毁内容时,对象就被销毁了
    2)当scop的取值为prototype时
    Bean的实例化个数:多个
    Bean的实例化时机:当调用getbean()方法时实例化Bean

  • 对象创建:当使用对象时,创建新的对象实例

  • 对象运行:只要对象在使用中,就一直活着

  • 对象销毁:当对象长时间不用时,被Java的垃圾回收器回收了

Bean生命周期的配置

  • init-method:指定类中的初始化方法名称
  • destroy-method:指定类中销毁方法名称

Bean实例化三种方式

  • 无参构造方法实例化
  • 工厂静态方法实例化
  • 工厂实例方法实例化

使用无参构造方法实例化

它会根据默认无参构造方法来创建类对象,如果bean中没有默认无参构造函数,将会创建失败

<bean id="userDao" class="com.hf.dao.impl.UserDaoImpl"/>

工厂静态方法实例化

工厂静态方法返回Bean实例

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

对应的Bean配置

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

工厂非静态方法实例化

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

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

Bean中的配置

<bean id="factoryBean" class="com.hf.factory.DynamicFactoryBean"/>
<bean id="userDao"  factory-bean="factoryBean" factory-method="createUserDao"/>

你可能感兴趣的:(JAVA,java)