本系列博客为spring In Action 这本书的学习笔记 在之前的两篇博客里我们说完了自动装配和通过Java代码装配Bean, 这篇博文里我们将介绍最后一种装配Bean的方式 — 通过XML装配. 1. 创建一个XML配置文件 和上一篇通过Java装配Bean的博文里面一样, 我们先来看一下在自动装配中出现过的XML文件. 程序1: 在CD播放器里面出现过的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:context="http://www.springframework.org/schema/context" xsi:schemaL 继续阅读 >>


祝一迪 17/09/20 21:08:14
本系列博客为spring In Action 这本书的学习笔记 上一篇博客中讲了自动化装配Bean, 那么这篇博客就来讲一下第二种装配Bean的方式: 通过Java代码装配Bean. 通过Java代码装配Bean 所谓通过Java代码装配Bean, 就是通过编写JavaConfig文件进行配置, 更简单地来讲, 就是在JavaConfig中声明Bean. 我们先来简单探究一下JavaConfig与一般的Java文件有什么区别. JavaConfig就是带有@Configuration注解的Java文件. 但严格意义上来讲, JavaConfig并不是Java文件, 它更接近于配置文件. JavaConfig里不包含任何的业务逻辑, 也不应该出现在任何业务逻辑的代码中, 通常情况下, 我们会将所有的JavaConfig放在单独的包中. 使用Java代码显式装配Bean, 其核心就是JavaConfig. 1. 创建JavaConfig 怎样创建JavaConfig呢? 其实关 继续阅读 >>


祝一迪 17/09/12 22:58:12
本文为一篇扫盲文, 主要是对网络中一些基础概念进行罗列和解释, 为以后学习网络打下基础. 一. 传输方式的分类 网络与通信中根据其发送数据的发送方法进行多种分类, 分类的方法也不尽相同, 以下我们来介绍几种常见的分类. 1. 面向连接型和面向无连接型 根据网络发送数据的方式, 可分为面向连接型和面向无连接型. (1) 面向连接型 : 在发送数据之前, 先要在收发主机之间建立一条通信线路, 也就是建立一条连接, 连接被关闭时无法发送数据. 举个例子, 面向连接型就像我们平时打电话, 当播通电话后, 至有当对方接听之后, 才能真正的通话, 而通话结束后, 我们也需要挂掉电话. 因此在面向连接型下, 需要在传输之前建立连接, 也需要在传输之后断开连接. 实际应用: TCP就是以面向链接的方式分组发送数据(关于分组稍后就会谈到). (2) 面向无连接型 : 面向无连接型不需要建立和断开连接, 也无需确认对端是否存在, 发送端可随时发送数据; 反之, 接收端也不知道自己会在何时从哪 继续阅读 >>


祝一迪 17/08/18 22:30:02
本系列博客为spring In Action 这本书的学习笔记 前面谈到了装配Bean可以有XML装配和基于Java的装配, 但是这两种装配都属于显式装配, 也就是说我们得手动写配置文件, 那么有没有更简便的方法呢? 就是我们今天介绍的自动化装配 ! 装配 在说自动化装配之前, 我们先来介绍一下装配, 毕竟在上一篇博客中只是粗略地提到过. 创建应用对象之间协作关系的行为称为装配, 这也是依赖注入的本质. Spring提供了3种装配机制, 它们分别为: 在XML中进行显式配置 在Java中进行显式配置 隐式的Bean发现机制和自动装配 一般来说, 这三种都是可以完成装配的, 选择哪种装配方式取决于开发者. 但是就我自己而言, 与书中作者一样, 更倾向于使用自动装配, 基于Java配置次之, 最后才是使用XML配置. 怎么说, Spring本身提供给了我们自动装配这种强大的装配机制, 我们就应该好好利用它, 单是从便利性这方面就能博得大家的青睐, 显式配置越少, 代码就越容易 继续阅读 >>


祝一迪 17/08/16 15:49:14
写了近一天的博客没有了!!!!! 我怎么不剁了我这双手!!!!!! 本系列博客为Spring In Action 这本书的学习笔记 Spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 这是网上给出的Spring框架的概念, 可能初次接触到Spring的小伙伴跟我刚开始一样, 看的是云里雾里, 不过没关系, 我们先来大概分析一下Spring的框架模块吧. Spring框架由以下六部分组成(也有人将其分为七部分, 由于本文是基于Spring In Action所写, 所以与文中作者所述保持一致) 我们来逐一分析Spring的这六个模块. 1. Core Spring container(Spring核心容器) 容器是Spring框架最核心的部分, 它负责Spring应用中Bean的创建/配置和管理. 而在Sprin 继续阅读 >>


祝一迪 17/08/15 17:09:16
OSI七层模型是ISO(国际标准化组织)制定的一个关于通信协议设计的参考模型. 它将通信协议中必要的功能分为了七层, 上下层进行交互时所遵循的约定叫”接口”, 同层交互时所遵循的约定叫”协议”. 虽然OSI模型并没有得到普及, 实际应用意义也不是很大, 但是对理解协议内部运作有很大的帮助. 本文将以一个”对话”的例子来解释分析一下OSI七层模型各层的功能和作用. OSI七层模型概述 我们先以两张图来大致了解一下OSI各层的作用和对数据的处理, 看看它们都干了哪些事. 发送端从第7层至第1层传输数据, 接收端从第1层至第7层接收数据. 对发送端而言, 在每个分层处理由上一层传过来的数据的时候都会附上当层协议所必须的首部信息, 然后传给下一层; 而对接收端而言, 在每个分层上将会进行首部信息和内容的分离, 然后传给上一层, 最终将数据恢复原样. 假设有用户A要发送一封内容为”早上好”的邮件给用户B, 那么这封邮件的发送过程对应OSI七层模型又是什么样的呢, 我们来逐层分析一下. 继续阅读 >>


祝一迪 17/08/14 11:41:24
这几天就开始学习Spring框架了, 工欲善其事, 必先利其器, 所以就从搭建环境开始吧. 因为是刚开始学习, 所以对有些配置文件了解的不是很清楚, 这期间也参考了很多博客, 暂且将搭建步骤记录下来, 以免忘记. 创建Maven项目 首先是new一个Project, 选择创建Maven项目: Project创建好之后, 进行IDEA的主页. 在右下角有Maven projects need to be imported, 点击第二个Enable Auto-Import将Maven需要的包都导入工程, 配置好Maven环境. 在配置好Maven环境之后, 先不要着急在pom.xml中导入常用包, 因为网上给出的大多数pom.xml文件的dependecy标签集中都含有Spring MVC框架的包, 但这往往并不是Spring的核心包, 如果你直接导入进pom.xml文件之后, Maven就会开始自动下载, 这会导致你在之后添加Spring MVC框架失败, 由于有与S 继续阅读 >>


祝一迪 17/08/10 15:25:35
做完了第一版的图书管理系统, 决定这段时间静下心好好看一看书, 一边复习Java基础和Servlet&JSP, 再一边学一学框架, 写读书笔记将学习到的知识点记录下来. 反射是什么? 反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。 这是百度里给出的概念, 可能大多数人跟我刚开始一样, 不是很理解这句话. 那么我们先从Java文件编译链接后生的可执行文件说起吧. 首先, 大家都明白, 一个.java文件经过编译链接会生成.class文件, 准确的来说, 应该是一个类经过编译会生成一个.class文件. 如果一个类里面除了主类还有其他类, 不管是内部类还是外部类, 每个类都会各自生成一个.class文件. 可能有人通过查看IDEA下classes目录会发现, 一个类经过编译链接后, 其内部类并不会生成独立的.class文件,但是实质上是会生成的, 只是IDEA下并没有显示出有这个.class文件而已, 我们在终端下来测试对比一下. 先来看一段Java代码: public class test { 继续阅读 >>


祝一迪 17/08/03 23:44:44
为什么突然想要分析一下GET和POST方法的区别呢,是因为最近在写小组的图书管理系统。这个项目的第一版已经基本写完了,但是仍有一些小bug让我想不明白。比如其中的一个bug: 用户在图书详情页对该图书进行评价,评价成功之后刷新页面,将会在刷新的那一刻再次提交评论内容,刷新多次则会提交多次。 今天不经意间终于搞明白了这个bug,问题就出在这GET和POST上! bug复现 先来看一下评论部分的JSP页面代码: <div> <form action="/addComments.do?bookid=<%=bookid%>" method="post"> <div> <center> <textarea cols="50" rows="5" style="width:300px;" name="detail" placeholder="想说点什么?"></textarea> 继续阅读 >>


祝一迪 17/08/02 16:07:28
这几天开始和社会董还有小孟愿开始写小组的图书管理系统,将在此期间遇到的一些问题和学到的一些知识总结在博客里。 这篇博客要总结的就是在WEB项目中用到的很重要的一种数据库设计模式DAO。 DAO是什么 DAO是WEB项目里面的数据层,主要负责为其他各层(MVC(Model View Controller))提供数据。DAO层里封装了对数据库的各种操作的代码。 为什么要使用DAO 我们在写WEB项目时,经常会有这样的需求:需要从数据库拿到数据,然后再展示再前端页面上,这也就说明我们需要在JSP页面中使用JDBC连接数据库进行各种操作。且不说在JSP页面上操作数据库有多繁复,单是大段大段的JAVA代码就已经使得JSP页面变得很复杂了。JSP页面应该专注于数据的展示结果,而非数据的取得过程。所以我们使用DAO设计模式,提供一组通用的数据库操作方法,简化代码,增强程序的可移植性。 DAO层的组成 DAO层主要由五个部分组成:DBUtil(数据库连接类),VO(valueObject值对象),IDAO(DAO接口),DAOImpl(DAO实现类) 继续阅读 >>


祝一迪 17/07/25 15:44:03