码迷,mamicode.com
首页 > 编程语言 > 详细

Spring_01

时间:2019-08-20 16:47:35      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:概述   集成   value   print   insert   snap   quartz   enc   www   

一. Spring概述

  1.1 spring是什么?

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

  1.2spring的优势

    1.2.1 方便解耦,简化开发

    通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造 成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可 以更专注于上层的应用。

    1.2.2 AOP 编程的支持

    通过 Spring 的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。

    1.2.3 声明式事务的支持

    可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理, 提高开发效率和质量。

    1.2.4 方便程序的测试

    可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可 做的事情。

    1.2.5 方便集成各种优秀框架

    Spring 可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz 等)的直接支持。

    1.2.6 降低 JavaEE API 的使用难度

    Spring 对 JavaEE API(如 JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些 API 的 使用难度大为降低。

    1.2.7 Java 源码是经典学习范例

    Spring 的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对 Java 设计模式灵活运用以 及对 Java 技术的高深造诣。它的源代码无意是 Java 技术的最佳实践的范例。

  1.3 spring的体系结构

  技术图片

  1.4程序耦合问题

    1.4.1 数据库

DROP DATABASE IF EXISTS `spring`;
CREATE DATABASE `spring` CHARACTER SET utf8;
USE `spring`;
DROP TABLE IF EXISTS `account`;
CREATE TABLE account(
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(40),
    `money` FLOAT
)CHARACTER SET utf8;
INSERT INTO account(`name`,money) VALUES(aaa,1000),(bbb,1000),(ccc,1000);

    1.4.2 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.hdax</groupId>
    <artifactId>spring</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> </dependencies> </project>

    1.4.3 创建JdbcDemo1类

package org.hdax.jdbc;
/**
* 程序的耦合 * 耦合:程序间的依赖关系 * 包括: * 类之间的依赖 * 方法间的依赖 * 解耦: * 降低程序间的依赖关系 * 实际开发中: * 应该做到:编译期不依赖,运行时才依赖。 * 解耦的思路: * 第一步:使用反射来创建对象,而避免使用new关键字。 * 第二步:通过读取配置文件来获取要创建的对象全限定类名 * */ public class JdbcDemo1 { public static void main(String[] args) throws Exception{ //1.注册驱动 // DriverManager.registerDriver(new com.mysql.jdbc.Driver()); Class.forName("com.mysql.jdbc.Driver"); //2.获取连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spring","root","admin"); //3.获取操作数据库的预处理对象 PreparedStatement pstm = conn.prepareStatement("select * from account"); //4.执行SQL,得到结果集 ResultSet rs = pstm.executeQuery(); //5.遍历结果集 while(rs.next()){ System.out.println(rs.getString("name")); } //6.释放资源 rs.close(); pstm.close(); conn.close(); } }

  1.5 解决耦合例子

  1111

Spring_01

标签:概述   集成   value   print   insert   snap   quartz   enc   www   

原文地址:https://www.cnblogs.com/loveyoul9/p/11383656.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!