Spring学习第一天

来源:互联网 发布:c罗各项数据 编辑:程序博客网 时间:2024/06/05 00:52


1、Spring概述
1.2 什么是Spring:
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,有Rod Johnson在其著作Exper One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IOC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

EE开发分成三层结构:
  • WEB层:Spring MVC;
  • 业务层:Bean管理(IOC);
  • 持久层:Spring的JDBC模板,ORM模板用于整合其他的持久层框架

IOC:Inversion of Control 控制反转,指的是 对象的创建权反转交给Spring

操作步骤:
1、下载Spring jar 包(http://spring.io/)
2、创建web项目,引入Spring的开发包
3、引入相关的配置文件、
     log4j.properties
     applicationContext.xml

DI:Dependency Injection  依赖注入,需要有IOC的环境。Spring创建这个类的过程中,Spring将类的依赖的属性设置进去。

Spring中的工厂(容器):(通过配置applicationContext.xml创建对象)
     ApplicationContext 接口有两个实现类:
          ClassPathXmlApplicationContext     :加载类路径下Spring的配置文件
          FileSystemXmlApplicationContext    :加载本地磁盘下Spring的配置文件

BeanFactory 和 AplicationContext 的区别:
     BeanFactory(过时):是在getBean的时候才会生成类的实例。
     ApplicationContext:在加载applicationContext.xml(容器启动)的时候会创建

Spring的相关配置(xml文件):
     id:<bean id="">Bean起个名字,在约束中采用ID的约束;唯一,必须以字母开始,可以使用字母、数字、连接符、下划线、句号、冒号  id不能出现特殊字符。
     name:Bean起个名字。没有采用ID的约束,name:能够出现特殊字符;如果<bean>没有id的话,name可以当作id使用。
     scope:属性:Bean的作用范围。
          singleton     :默认值、单例的。
          prototype    :多例的
          request        :WEB项目中,Spring创建一个Bean对象,将对象存入到request域中。
          session         :WEB项目中,Spring创建一个Bean对象,将对象存入到session域中
          globalSession:WEB项目中,应用在Porlet环境,如果没有Porlet环境那么globalSession相当于session。
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://www.springframework.org/schema/beans"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">

<bean name="userDaoImpl" class="com.seventeen.dao.impl.UserDaoImpl"></bean>

</beans>

     Bean的生命周期的配置:
          通过配置<bean>标签上的 init-method 作为Bean的初始化的时候执行的方法,配置 destroy-method 作为Bean的销毁的时候执行的方法。
          销毁方法想要执行,需要是单例创建的Bean 而且在工厂关闭的时候,Bean 才会被销毁。

Spring生成Bean的时候三种方式:
     1、无参数的构造方法的实例化
<bean name="userDaoImpl" class="com.seventeen.dao.impl.UserDaoImpl"></bean>
     2、静态工厂实例化的方式
     提供一个工厂类:
public class UserFactory {
     public static User creatUser(){
           System.out.println("静态工厂创建对象");
           return new User();
     }
}

<bean name="user2" class="com.seventeen.bean.UserFactory" factory-method="creatUser"></bean>
     3、实例工厂实例化的方式
     提供Bean的实例工厂
public class UserFactory {
     public User creatUser2(){
           System.out.println("实例工厂创建对象");
           return new User();
     }

}
<bean name="userFactory" class="com.seventeen.bean.UserFactory"></bean>
<bean name="user3" factory-bean="userFactory" factory-method="creatUser2"></bean>

Spring的Bean的属性注入:
    1、 set方法的方式注入属性:

     2、构造方法的方式注入属性


     注入复杂类型:
1、数组类型注入


     2、注入list集合数据
     User.java
     3、注入map集合数据
 

1、Spring概述
1.2 什么是Spring:
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,有Rod Johnson在其著作Exper One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IOC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

EE开发分成三层结构:
  • WEB层:Spring MVC;
  • 业务层:Bean管理(IOC);
  • 持久层:Spring的JDBC模板,ORM模板用于整合其他的持久层框架

IOC:Inversion of Control 控制反转,指的是 对象的创建权反转交给Spring

操作步骤:
1、下载Spring jar 包(http://spring.io/)
2、创建web项目,引入Spring的开发包
3、引入相关的配置文件、
     log4j.properties
     applicationContext.xml

DI:Dependency Injection  依赖注入,需要有IOC的环境。Spring创建这个类的过程中,Spring将类的依赖的属性设置进去。

Spring中的工厂(容器):(通过配置applicationContext.xml创建对象)
     ApplicationContext 接口有两个实现类:
          ClassPathXmlApplicationContext     :加载类路径下Spring的配置文件
          FileSystemXmlApplicationContext    :加载本地磁盘下Spring的配置文件

BeanFactory 和 AplicationContext 的区别:
     BeanFactory(过时):是在getBean的时候才会生成类的实例。
     ApplicationContext:在加载applicationContext.xml(容器启动)的时候会创建

Spring的相关配置(xml文件):
     id:<bean id="">Bean起个名字,在约束中采用ID的约束;唯一,必须以字母开始,可以使用字母、数字、连接符、下划线、句号、冒号  id不能出现特殊字符。
     name:Bean起个名字。没有采用ID的约束,name:能够出现特殊字符;如果<bean>没有id的话,name可以当作id使用。
     scope:属性:Bean的作用范围。
          singleton     :默认值、单例的。
          prototype    :多例的
          request        :WEB项目中,Spring创建一个Bean对象,将对象存入到request域中。
          session         :WEB项目中,Spring创建一个Bean对象,将对象存入到session域中
          globalSession:WEB项目中,应用在Porlet环境,如果没有Porlet环境那么globalSession相当于session。
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://www.springframework.org/schema/beans"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">

<bean name="userDaoImpl" class="com.seventeen.dao.impl.UserDaoImpl"></bean>

</beans>

     Bean的生命周期的配置:
          通过配置<bean>标签上的 init-method 作为Bean的初始化的时候执行的方法,配置 destroy-method 作为Bean的销毁的时候执行的方法。
          销毁方法想要执行,需要是单例创建的Bean 而且在工厂关闭的时候,Bean 才会被销毁。

Spring生成Bean的时候三种方式:
     1、无参数的构造方法的实例化
<bean name="userDaoImpl" class="com.seventeen.dao.impl.UserDaoImpl"></bean>
     2、静态工厂实例化的方式
     提供一个工厂类:
public class UserFactory {
     public static User creatUser(){
           System.out.println("静态工厂创建对象");
           return new User();
     }
}

<bean name="user2" class="com.seventeen.bean.UserFactory" factory-method="creatUser"></bean>
     3、实例工厂实例化的方式
     提供Bean的实例工厂
public class UserFactory {
     public User creatUser2(){
           System.out.println("实例工厂创建对象");
           return new User();
     }

}
<bean name="userFactory" class="com.seventeen.bean.UserFactory"></bean>
<bean name="user3" factory-bean="userFactory" factory-method="creatUser2"></bean>

Spring的Bean的属性注入:
    1、 set方法的方式注入属性:

     2、构造方法的方式注入属性


     注入复杂类型:
1、数组类型注入


     2、注入list集合数据
     User.java
     3、注入map集合数据
 

原创粉丝点击