【转】IntelliJ IDEA搭建Spring环境
//本来在草稿箱写好了,忘记发就被冲掉了,重新再写一遍。
Spring初探
开发环境:
IntelliJ IDEA 2016.2.5
JRE: 1.8.0_91-b14 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation
在IntelliJ IDEA中创建Spring项目
在首先点击Create New Project
勾选Spring然后next
设置你项目所想要存放的路径以及名字
注:IntelliJ IDEA中的project相当于eclipse中的workspace,而module才相当于一个project,所以我们不需要创建workspace,IntelliJ IDEA默认也会给你创建一个module。
这时候IntelliJ IDEA就会自动下载Spring所需要的jars,只需要等待就好。
下载好后,Spring的jars和配置文件都准备好了。
一个简单的例子介绍框架的作用
首先创建一个HelloWorld类,有一个name属性,还有一个sayHello的方法,还有一个setter方法用来设置name属性。
在我们不使用框架的时候,也就是平常的编程中,我们要调用sayHello这个方法,可以分为3步。
1. 创建一个HelloWorld的实例对象
2. 设置实例对象的name属性
3. 调用对象的sayHello()方法
接着我们运行一下这个程序,成功输出了Hello Spring。
接下来我们就要使用Spring了,首先在Spring的配置文件中加入如下内容。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="helloWorld" class="HelloWorld">
<property name="name" value="Spring"></property>
</bean>
</beans>
这时候我们就配置好了HelloWorld Bean的信息,我们再调用sayHello()方法的时候就不向之前一样了,也需要3个步骤。
1. 创建一个Spring的IOC容器对象
2. 从IOC容器中获取Bean实例
3. 调用sayHello()方法
这么写好像和自己之前编程的时候不一样啊,可以运行结果吗,我们直接试一下就好。
好像不太一样啊,输出了我们想要的Hello Spring ,但是好像多了许多其他的东西啊。这些其实是Spring输出的日志而已。
第一次使用Spring,我们明明没有创建HelloWorld的实例对象,只是配置了下Spring的配置文件,怎么就能得出正确的结果呢,这是因为我们使用了Spring的IOC功能,把对象的创建和管理的功能都交给了Spring去管理,我们需要对象的时候再和Spring去要就行。
那么什么时候new的对象呢
我也不知道,哈哈,所以首先修改一下HelloWorld类的构造方法和setter方法。
然后直接添加断点进入Debug模式。
我们可以看到,当执行到第一步创建IOC容器对象的时候就调用了HelloWorld类的构造方法和setter方法。
对Spring的作用的初步了解
从上面的例子可以得出结论,Spring到底帮我们做了什么,当我们没有使用Spring的时候,调用sayHello()方法需要3步:
1. 创建一个HelloWorld的实例对象
2. 设置实例对象的name属性
3. 调用对象的sayHello()方法
后来也需要3步:
1. 创建一个Spring的IOC容器对象
2. 从IOC容器中获取Bean实例
3. 调用sayHello()方法
然后我们探究了什么时候new的helloWorld对象,我们可以看出,Spring帮我们完成了前2步,也就是创建实例对象以及设置对象的属性,也就是说我们可以把对象的创建和管理工作交给Spring去完成,不需要自己去new对象,也不要去设置对象的属性,只要写好Spring的配置文件,Spring就可以帮我们去做,当我们需要对象的时候,直接去找Spring去要就行。
【转】IntelliJ IDEA搭建Spring环境的更多相关文章
- 一、Spring MVC起步——IntelliJ IDEA 搭建Spring MVC环境(手把手搭建)
本机环境: JDK 1.7 IntelliJ IDEA 2017.2 1.新建项目 Create New Project 选择Spring MVC 填写项目名和项目存放位置 然后点击Fin ...
- 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解
http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...
- Spring Boot系列学习文章(一) -- Intellij IDEA 搭建Spring Boot项目
前言: 最近做的一个项目是用Spring Boot来做的,所以把工作中遇到的一些知识点.问题点整理一下,做成一系列学习文章,供后续学习Spring Boot的同仁们参考,我也是第一次接触Spring ...
- 【Spring环境搭建】在Myeclipse下搭建Spring环境-web开发
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...
- eclipse上搭建Spring环境
搭建环境之前要下载Spring Tool Suite和Spring framework 1.Spring IDE 下载(也叫Spring Tool Suite 简称 STS),进官网,直接给链接htt ...
- 使用IntelliJ IDEA 搭建 spring mvc开发环境
填好GroupId.ArtifactId,一路Next创建工程,在main 目录创建 java文件夹并转换为Sources Root,创建好工程目录结构如下: 配置工程 配置 pom.xml,引入相关 ...
- IntelliJ IDEA搭建Spring Boot 2 项目入门
之前都是用Eclipse,今天试了下IntelliJ IDEA,搭建了一个Spring Boot 2的Hello world项目. 一.IntelliJ IDEA 下载安装 官网下载:https:// ...
- mac os版本Intellij IDEA 搭建spring mvc的maven工程(新手教学)
由于近期换了新公司,又换mac pro作为新电脑,打算把用了很多年的eclipse换成IDEA(IDEA比eclipse的好处我就不多说了),由于mac os和IDEA刚开始用不久,所以专门用一篇博客 ...
- Intellij IDEA 搭建Spring Boot项目(一)
原文出处 第一步选择File –> New –> Project –>Spring Initialer –> 点击Next 第二步自己修改 Group 和 Artifact 字 ...
随机推荐
- Linux下文件操作命令cat(转)
语法格式: cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明: -n 或 --number:由 1 开始对所有输出的行数编号. -b 或 --n ...
- 如何使用KeyChain保存和获取UDID - Flex/AS Programmer
原文 http://www.cnblogs.com/yssgyw/p/3364370.html 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不 ...
- Go -- go语言指针
package main import "fmt" type Test struct { Name string } func change2(t *Test) { t.Name ...
- linxu下查看进程的线程方法;如何知道某个进程或者线程运行在哪个CPU上?
1.top -H -p <pid> ; top -H 在top命令后,按H键:或者top -H 2.ps -T -p <pid> “-T”选项可以开启线程查看 3.htop, ...
- 基于Lua插件化的Pcap流量监听代理
1.前言 我们在实际工作中,遇到了一个这样的用例,在每天例行扫描活动中,发现有些应用系统不定期的被扫挂,因为我们不是服务的制造者,没有办法在不同的系统里打印日志,所以我们就想用一个工具来获取特定服务的 ...
- 数据库系统学习(八)-SQL语言与数据库完整性和安全性
第八讲 SQL语言与数据库完整性 重难点 数据库完整性的概念 关系数据库 防止和避免数据库中不合理数据的出现 输入错误,操作失误,程序处理错误等 完整性约束条件的一般形式 对O操作集合,当出现A情况时 ...
- 有方向的运动js
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- PHP-MySQL,PHP-MySQLi,PDO的差异
PHP-MySQL是PHP操作MySQL数据库最原始的Extension ,PHP-MySQLi的i代表Improvement ,提供了更加高级的功能,就Extension而言,本身也增加了安全性.而 ...
- 信雅达面试题atoi函数实现
atoi函数: 功 能: 把字符串转换成整型数. 名字来源:ASCII to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明 参数nptr字符串,如 ...