Spring知识

Sping的背景:
    Spring是一个开源框架,它是由Rod Johnson创建。它是为了解决企业应用开放的复杂性而创建的。Spring还使用基本的
javaBean来完成以前只可能由EJB完成的事情,然而,spring的用途不仅限于服务端的开放,从简单性、可测试和松
耦合的角度而言,任何Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性
  ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
  ◆范围:任何Java应用
   简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.
             spring的设计思想是,单例模式和工厂模式
优点:
    轻量级,低侵入的设计,spring不依赖于web容器,独立于各种应用服务器

Spring的基本框架:
    1.Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,
  只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。
 
2.Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、
  配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现

七大模块是:
   ◆Spring Core:Spring的基石,提供了Spring的最主要的核心机制:控制反转和依赖注入
       ◆Spring Context:提供了Spring的上下文信息,如:国际化,验证等
       ◆Spring Web支持:简化了处理多部分请求
       ◆Spring MVC框架支持:一个全功能的构建 Web 应用程序的 MVC 实现,MVC 容纳了大量视图技术,其中包括 JSP、Velocity等。
       ◆Spring Dao支持:Spring的Dao支持大大的简化了JDBC操作数据库所带来的繁琐
       ◆Spring ORM支持 Spring框架集成了若干ORM框架,从而提供了ORM的对象关系工具,其中包括 JDO、Hibernate、iBatis和TopLink。
                   所有这些都遵从Spring的通用事务和DAO异常层结构。
       ◆Spring AOP:面向方面编程,提供了事务,日志,权限,安全等处理机制
  
    控制反转(IOC) 和 面向切面(AOP)
    控制反转:就是调用者不创建被调用者实例,由spring容器来创建,好处就是,解决了类与类之间的耦合。
面向切面:是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。
          AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。
          好处就是:消除了编码模块之间的依赖,还可以在任意阶段,向已有功能模块中添加新的功能,且不侵入原有功能。
 
bean工厂(BeanFactory)和应用上下文(ApplicationContext)
    在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、
配置应用程序中的对象及建立这些对象间的依赖。

常用创建BeanFact的方法种方式的到bean的实例:
        1、通过文件系统
              Resource res = new FileSystemResource("beans.xml");
              XmlBeanFactory beanFactory = new XmlBeanFactory(res);
       2、通过类路径(class路径 ./表示上级目录)
              ClassPathResource res = new ClassPathResource("beans.xml");
              XmlBeanFactory beanFactory = new XmlBeanFactory(res);
       3、通过ApplicationContext加载(ClassPathXmlApplicationContext或者FileSystemXmlApplicationContext)    
              ApplicationContext appContext = new ClassPathXmlApplicationContext(
              new String[] {"./beans.xml"});
              BeanFactory beanFactory = (BeanFactory) appContext;

Spring依赖注入的方式有三种:
        1.什么是依赖注入:
                 对象之间的依赖关系,不由对象自身来负责,而是由容器/其他对象,依据配置文件动态建立
            2.依赖注入好处:
                (1)采用依赖注入,模块之间一定是松散耦合的
                (2)代码易维护易测试
◆local与bean的区别?
     local:是代表当前xml
bean:整个spring容器 所走加载的xml文件搜索
◆(1)set注入
     <bean id="aaa" class="包名.类名">
            <property name="属性名">
          <ref local="另一个bean id"/>
            </property>
                 </bean>
◆(2)构造注入
   <bean id="aaa" class="包名.类名">
   <constructor-arg><ref bean="steelAxe"/></constructor-arg>
   </bean>
◆(3)lookup方法注入
spring 对dao的支持
<1>dao模式优点
减少开发代码量 提高工作效率
降低系统资源消耗 提高系统性能
业务逻辑层与持久层(数据层)的分离,使数据与操作更为清晰。
数据访问独立到了一层,修改具体实现类,不影响系统的架构运行
<2>DAO模式的四个组件
DAO接口
DAO接口实现类
pojo值对象
DAO实例的定位(工厂 或 spring注入)

2. 核心类 
JdbcTemplate(需要注入DataSource)
JdbcDaoSupport类(简化注入,有一个字段dataSource)
并提供了getJdbcTemplate()方法获得JdbcTemplate实例

你可能感兴趣的:(DAO,spring,AOP,框架,企业应用)