Spring 从零開始-01

因为学习需求,近期突然通知须要学习Spring。可是因为之前非常少使用Java。所以感觉还是有点慢,花了大约两周,弄懂了主要的结构也编了点小程序。还是万事开头难啊,网上总是非常难找到学习spring的指引资料。学习一个东西最主要的还是学习他的思想。还有就是一个可靠地学习建议,这东西会让你事半功倍,学习一定要依赖于书本,网上再好的资料都不如一本书。这个是本科+研究生的经验总结,spring学习能够參考《spring实战》,这本书写得非常精彩。可是就是须要有点高度,假设你从零開始那将会有一些困难,我近期将会慢慢写一写基础的代码。有利于理解《spring实战》,也适合从零開始的小白,仅仅要你懂Java即可。

Spring主要的概念是AOP和DI。这东西不要指望我能将明确,我假设说明确了就写书了,可是能够给你一些简单代码,给你一些辅助~~看看这篇文章吧

http://www.blogjava.net/hh-lux/archive/2006/12/10/86757.html

在样例前。首先介绍一下spring架构的目的,spring为了是降低代码之间的耦合性(DI),特别适合为架构加入中间控制(AOP的概念)

我们来个简单的样例

public class User {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

}

来个main函数測试一下

public class test {
public static void main(String[] args) {
    User user = new User();
    user.setAge(10);
    System.out.println(user.getAge());
}
}

以上的代码再简单只是了吧。我们定义类并由我们来进行实例化

可是有了Spring的DI之后我们将不再这么做

<?

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:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/aop
     http://www.springframework.org/schema/aop/spring-aop.xsd">

    <bean id="user" class="blog1.User">
        <property name="age">
            <value>10</value>
        </property>
    </bean>

</beans>   

我们利用bean容器使用xml文件为我们注入实例化的属性。相应的我们的main函数也须要更改

public class test {
    public static void main(String[] args) {

        //  User user = new User();
        //  user.setAge(10);
        //  System.out.println(user.getAge());
        ApplicationContext ac = new ClassPathXmlApplicationContext("blog1/bean.xml");
        User user = (User)ac.getBean("user");
        System.out.println(user.getAge());

    }
}

bean.xml就是上面的配置文件,注意xml的文件位置,将包文件里的“.”换成“/”。

这就是一个简单的样例。相应于IOC和DI的概念理解一下。spring将User的实例化交给了spring的bean容器,降低了代码之间的耦合,当然这个非常的简单。

spring编程还须要非常多的包文件,在学习的时候非常是反感。因为没有人一次性告诉你须要什么jar包。

我打包了眼下须要的jar包(不要积分。!),不懂的话所有加上(假设不会载入jar包。上网搜一下- -b)

http://download.csdn.net/detail/wsrspirit/8866941

这时代码的下载地址(没积分赶紧来)

http://download.csdn.net/detail/wsrspirit/8866955

<特别注意,一開始以为是spring,所以创建的javaproject也是dynamic web。

。这里的spring还是选择一般的javaproject即可了:)>

spring的介绍将会慢慢来~~

时间: 2024-10-13 09:54:26

Spring 从零開始-01的相关文章

《PHP 5.5从零開始学(视频教学版)》内容简单介绍、文件夹

<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版)>源码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态站点的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能. 全

从零開始学Swift之Hello World进化版

上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta

从零開始开发Android版2048 (二)获取手势信息

今天是尝试開始Android版2048小游戏的第二天.在今天,我主要学习了怎样获取用户在屏幕滑动的手势,以及对布局进行了一些小小的完好. 获取用户操作的手势(比方向左滑.向右滑等)主要用到了GestureDetector.这个类能够帮助我们获取一些常见的用户对屏幕的操作.比如单击.双击.按压.拖动等.详细的使用说明.大家能够查API也能够去百度,或者看我之前有一篇使用GestureDetector实现的小样例(http://blog.csdn.net/xiapinnong/article/det

站点搭建从零開始(五) WordPress的安装

前面说了非常多废话.如今最终转到正题.WordPress的安装. 1.WordPress安装非常easy 假设你的server能通过应用中心一键安装WordPress,这一节就非常轻松了,基本上不须要做什么.可是考虑到那种新手的方式,以后假设换了server可能就不能进行安装了.而且有些需求还是不能用那种方式实现,所以学一下也好(主要是配置数据库.FTP,然后上传文件.过程相当简单). 仅仅要server支持php而且配置了数据库和FTP,安装WordPress是非常easy的. 前面我们配置好

从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制

一句话提要 好的開始等于成功了一半. 创建文件夹结构 project文件夹下最好分为以下几个文件夹 Docs - 开发文档,设计文档 Assets - 角色,动作,模型和音效等 Source - 代码,project文件或者makefile也放在这里,假设有引用第三方的lib,在里面建立一个3rdParty的文件夹,放在里面. Temp - 用于防止编译生成的文件 Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源码. Game - 用于放置release buid,

第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)

RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布局. 我们以下通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开"res/layout/activity_main.xml"文件,改动成下面代码. (1)第①部分 <?xml version="1.0"

opengl微开发之1-从零開始

对OpenGL有一点了解之后,如今開始真正编写代码. 今天的内容: 使用FreeGLUT创建OpenGL的上下文环境 初始化GLEW 创建一个OpenGL的的模板范例 第一步: 一个OpenGL的上下文能够同意我们传递命令究竟层硬件,所以须要一个上下文环境.首先须要配置一个功能窗体,创建一个名为chapter1.c的文件,在你的编辑器或者集成开发环境中打开它,插入例如以下代码: #include <stdlib.h> #include <stdio.h> #include <

unity3d从零開始(五):了解摄像机

1.简单介绍 Unity的摄像机是用来将游戏世界呈现给玩家的,游戏场景中至少有一台摄像机.也能够有多台. 2.类型 Unity中支持两种类型的摄像机,各自是Perspective(透视)以及Orthographic(正交)两种. 3.參数 在Unity中创建摄像机对象时.默认情况下除了Transform组件还会带有Camera.GUI Layer.Flare Layer和Audio Listener组件.以下介绍下Camera组件的參数. 3.1    Clear Flags 清除标记. 决定屏

从零開始学Java之线程具体解释(1):原理、创建

Java线程:概念与原理 一.操作系统中线程和进程的概念 如今的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中执行的应用程序.每一个进程都有自己独立的一块内存空间.一个进程中能够启动多个线程. 比方在Windows系统中.一个执行的exe就是一个进程. 线程是指进程中的一个执行流程.一个进程中能够执行多个线程.比方java.exe进程中能够执行非常多线程. 线程总是属于某个进程,进程中的多个线程共享进程的内存. "同一时候"运行是人的感觉,在线程之间实际上