Spring框架(1)—Spring入门

Spring入门

 为了能更好的知道先讲一些有些没的的事物:

    什么是Spring

 Spring是分段的JavaSE/EE
full-stack(一站式) 轻量级开源框架
    分层
      SUN提供的EE的三层协会:web层、业务层、数据访问层(持久层/集成层)
      Struts2是web层基于MVC设计情势框架
      Hibernate是持久层的一个ORM的框架
    一站式
      Spring框架有对三层的每层解决方案
        web层:Spring MVC
        持久层:JDBC
Template
        业务层:Spring的Bean管理 

 Spring的核心:

 
 支配反转意思乃是,当我们调用一个措施如故类时,不再有大家积极去成立这么些类的靶子,控制权交给外人(spring)。

  尊敬注入趣味就是说,spring主动创建被调用类的靶子,然后把这几个目标注入到大家温馨的类中,使得我们得以应用它。

Spring优点
  福利解耦,简化开发
    Spring就是一个大工厂,能够将具有目的成立和依靠关系维护,交给Spring管理
  AOP编程的扶助
    Spring提供面向切面编程,可以便宜的兑现对程序举行权力拦截、运行监督等职能
  注解式事务的支撑
    只必要经过配备就可以完毕对工作的田间管理,而无需手动编程
  方便程序的测试
    Spring对Junit4襄助,可以经过声明方便的测试Spring程序
  方便集成各类美丽框架
    Spring不排外各类可以的开源框架,其内部提供了对各个出色框架(如:Struts、Hibernate、MyBatis、Quartz等)的一贯协助
  下降JavaEE API的施用难度
    Spring
对JavaEE开发中更加难用的一些API(JDBC、JavaMail、远程调用等),都提供了打包,使这一个API应用难度大大下降

前面讲的都是废话,下边发轫进入最基础的:

Spring的入门的主次

(1)导包**

图片 1

   下载Spring的开发包**

       
下载
最新的jar包地址:[http://repo.spring.io/simple/libs-release-local/org/springframework/spring/**](http://repo.spring.io/simple/libs-release-local/org/springframework/spring/)
  **     
 spring-framework-4.3.7.RELEASE-dist.zip —Spring开发包

 注意:
    spring-beans-4.3.7.RELEASE.jar    
//这三个在spring开发包汉语件搜索就足以找到
    spring-context-4.3.7.RELEASE.jar
    spring-core-4.3.7.RELEASE.jar
    spring-expression-4.3.7.RELEASE.jar
    开发的日志记录的包:                       //在apache下下载
      com.springsource.org.apache.commons.logging-1.1.1.jar —
用于整合其余的日志的包(类似Hibernate中slf4j)
      com.springsource.org.apache.log4j-1.2.15.jar

(2)创造Spring的布局文件
    在src下创制一个applicationContext.xml
    引入XML的自律:在spring开发包中找到xsd-config.html.引入beans约束

 图片 2

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <!-- bean definitions here -->

(3)创设接口:HelloServcie

public interface HelloServcie {

    public void sayHello();
}

(4)创造接口完成类:

1 public class HelloServiceImpl implements HelloServcie {
2     
3     public void sayHello() {
4         System.out.println("hello spring");
5     }
6 }

(5)配置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"
    xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <!-- bean definitions here -->

    <!-- 1.快速入门程序============================================================================== -->
     <!-- 
         配置使用哪个实现类 
         id 标识符   
         class  需要实例化的类路径
      -->
     <bean id="helloServices" class="com.study.spring.a_quickstart.HelloServiceImpl"> 
     </bean>
    <!-- end.快速入门程序============================================================================== -->

</bean

(6)配置测试类

public class HelloTest { 
    public static void main(String[] args) {
        //传统写法 紧密耦合 
        HelloServiceImpl servcie =new HelloServiceImpl();
       //手动调用方法
       servcie.sayHello();

       //工厂+反射+配置文件  
       ApplicationContext applicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
       //通过工厂 和反射一级配置文件中的信息加载类对象
       HelloServcie helloServcie=(HelloServcie) applicationContext.getBean("helloServices");
       helloServcie.sayHello();       
    }
}
/*后台两次输出:hello spring
 */

其一例子分外不难,也根本是从那些事例表明spring的首先个亮点那就是解耦合,那样更便利前期的有限辅助。

那篇文章写得很入门,也冀望大家多多指引,谢谢!

 

网站地图xml地图