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)导包

   下载Spring的开发包

        下载最新的jar包地址: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约束

<?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)创建接口实现类:

 public class HelloServiceImpl implements HelloServcie {

     public void sayHello() {
System.out.println("hello spring");
}
}

(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的第一个优点那就是解耦合,这样更有利于后期的维护。

这篇文章写得很入门,也希望大家多多指点,谢谢!

Spring框架(1)---Spring入门的更多相关文章

  1. Spring 框架介绍 [Spring 优点][Spring 应用领域][体系结构][目录结构][基础 jar 包]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...

  2. 一句话概括下spring框架及spring cloud框架主要组件

    作为java的屌丝,基本上跟上spring屌丝的步伐,也就跟上了主流技术.spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你 ...

  3. 《经久不衰的Spring框架:Spring+SpringMVC+MyBatis 整合》

    前言 主角即Spring.SpringMVC.MyBatis,即所谓的SSM框架,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目 ...

  4. Spring(二):Spring框架&Hello Spring

    Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架. Spring 框架 ...

  5. Spring框架学习——Spring的体系结构详解

    1.Spring简介 Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题.它是一个分层的JavaSE/JavaEE ...

  6. 【spring框架】spring获取webapplicationcontext,applicationcontext几种方法详解--(转)

    方法一:在初始化时保存ApplicationContext对象代码:ApplicationContext ac = new FileSystemXmlApplicationContext(" ...

  7. 什么是Spring框架? Spring框架有哪些主要的模块?

    Spring框架是一个为java应用程序的开发提供了综合,广泛的基础性支持的java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是 ...

  8. Spring框架学习-Spring和IOC概述

    一:什么是Spring框架? spring是一个分层的javase/EEfull-stack(一站式)轻量级的java开源框架.是为了解决企业开发的复杂性而创建的.框架的主要优势是分层架构,Sprin ...

  9. Spring框架:Spring安全

    在传统的Web发展,安全码被分散在各个模块,这样方便管理,有时你可能会错过一个地方导致安全漏洞.为了解决这个问题,它的发明Spring Security.它是业务逻辑的有关安全代码的作用全部转移到一个 ...

随机推荐

  1. c语言01次作业--分支,顺序结构

    C语言--第01次作业 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本章学习让我体会良多.首先,不得不承认自己是一个非常马虎的人.常见的问题就是输出格式上常因为没有与题目要 ...

  2. 安装composer Failed to decode zlib stream 问题解决方法

    https://getcomposer.org/download/ 页面下载最新版本 composer.phar 放到php.exe 页面下.创建一个.bat文件,存入下面内容 @ECHO OFF p ...

  3. 【Python】 Python3 环境搭建

    Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. Windo ...

  4. 通俗易懂--SVM算法讲解(算法+案例)

    1.SVM讲解 新闻分类案例 SVM是一个很复杂的算法,不是一篇博文就能够讲完的,所以此篇的定位是初学者能够接受的程度,并且讲的都是SVM的一种思想,通过此篇能够使读着会使用SVM就行,具体SVM的推 ...

  5. Mac系统下 解决ThinkPHP生成目录,无法保存问题

    Mac环境下我们建立目录的时候往往要增加目录的时候要修改权限,输入密码,大大的降低了效率. 解决办法: 1.找到你的目录站点 终端打开打 2.终端输入find file -exec sudo chmo ...

  6. JAVA的环境变量配置

    开发JAVA程序需要先准备开发环境,安装好操作系统后首先需要去下载JDK并安装. JDk(Java Development Kit )是Java开发工具包,如果您要开发基于Java的应用首先需要下载并 ...

  7. 在ExtJS中查看视频

    listeners: { render: function() { win.update( '<video src="' + path+ '" width="100 ...

  8. DOM函数和jQuery函数的覆盖与执行顺序

    <script type="text/javascript"> window.onload = function () { alert(); } window.onlo ...

  9. STM32F10x_StdPeriph_Lib_V3.5.0标准库文件关系(转载他人)

  10. CentOS7 安装配置rsync

    centos7自带rsync,今天简单记录下. rsync安装配置步骤 服务器端: 1.修改默认配置文件/etc/rsyncd.conf,该成如下: # /etc/rsyncd: configurat ...