Spring第一个helloWorld
Spring
简介:
轻量级:Spring是非侵入性的-基于Spring开发的应用中的对象可以不依赖于Spring的API
依赖注入(DI—dependdency injection、IOC)
面向切面编程:(AOP—aspect oriented programming)
容器:Spring是一个容器,因为它包含并管理应用对象的生命周期
框架:Spring实现类使用简单的组件配置组合成一个复杂的应用。在Spring中可以使用XML和java注解组合这些对象
一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供类展现层的SpringMVC和持久层的Spring JDBC)
Spring 设计理念
Spring是面向Bean的编程
Spring 两大核心技术
控制反转(IoC:)将组件对象的控制权从代码本身转移到外部容器
组件化对象的思想:分离关注点,使用接口,不再关注实现
目的:解耦合.实现每个组件时只关注组件内部的事情
编写第一个HelloWorld程序
安装Spring tool suite
Spring tool suite是一个Eclipse插件,利用该插件可以更方便的在Eclipse平台上开发基于Spring的应用
安装后将Eclipse进行重启
搭建Spring开发环境
把以下jar包加入到工程的classpath下:

Spring的配置文件:一个典型的Spring项目需要创建一个或多个Bean的配置文件,这些配置文件用于在Spring IOC容器里配置Bean.Bean的配置文件可以放在classpath下,也可以放在其它目录下。
现在可以写我们的HelloWorld,结构如下:

applicationContext.xml是Spring的配置文件
file-->new-->other

创建以后
效果如下:

会为我们生成Spring配置文件的头信息,这是我们之前安装Spring tool suite插件为我们做的
编写javaBean
我们编写的javaBean代码为
|
package cn.bdqn.spring; public class HelloSpring { //定义who属性,该属性的值通过Spring框架进行设置 private String who=null; /** * 打印方法 */ public void print(){ System.out.println("hello,"+this.getWho()+"!"); } /** * 获得who * @return who */ public String getWho(){ return who; } /** * 设置who * @param who */ public void setWho(String who){ this.who=who;} } |
编写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 class属性值是我们javaBean的全类名 id是唯一标识 property标签中的name属性的值是我们javaBean中的属性 value 给name属性值对应的javaBean中的属性 设置的值 --> <bean id="HelloSpring" class="cn.bdqn.spring.HelloSpring"> <property name="who" value="spring"></property> </bean> </beans> |
编写测试类
编写测试类,代码如下:
|
package cn.bdqn.test; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.bdqn.spring.HelloSpring; public class Test { public static void main(String[] args) { // 创建Spring 的IOC容器对象 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); /* 从IOC容器中获取Bean实例 "HelloSpring"是我们applicationContext.xml中配置的id属性的值*/ HelloSpring bean = (HelloSpring)context.getBean("HelloSpring"); // 调用print方法 bean.print(); } } |
Spring第一个helloWorld的更多相关文章
- 在IDEA中使用Spring写一个HelloWorld
准备工作 1.使用IDEA2018专业版, 我试了IDEA2019教育版和IDEA2020社区版,都无法顺利创建一个Spring项目,实在是恼火,一气之下,统统卸载掉. 重装了一个IDEA2018专业 ...
- Spring Boot 《一》开发一个“HelloWorld”的 web 应用
一,Spring Boot 介绍 Spring Boot不是一个新的框架,默认配置了多种框架使用方式,使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet).准生产级别的基于 ...
- 使用Spring开发第一个HelloWorld应用
http://www.importnew.com/13246.html 让我们用Spring来写第一个应用程序吧. 完成这一章要求: 熟悉Java语言 设置好Spring的环境 熟悉简单的Eclips ...
- 第一个spring简单的helloworld
spring 是一个开源的框架 也是轻量级框架 1.导入jar包 spring的版本 4.0 目录: spring-framework-4.0.0.RELEASE-libs 下的jar spring ...
- 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用
http://www.importnew.com/13246.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 - 首页 所有文章 资讯 ...
- 用Spring3编写第一个HelloWorld项目
第一个HelloWorld程序 让我们用Spring来写第一个应用程序吧. 完成这一章要求: 熟悉Java语言 设置好Spring的环境 熟悉简单的Eclipse IDE的操作 如果你还没有设置好环境 ...
- 跟着刚哥学习Spring框架--创建HelloWorld项目(一)
1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...
- SpringMVC基础入门,创建一个HelloWorld程序
ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...
- [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771 maven官网:http://maven.apache.org/ 学习视 ...
随机推荐
- C++ 类的静态成员变量及静态成员函数
ps:下面所说 成员=成员变量+成员函数: 作用 由于对象与对象之间的成员变量是相互独立的.所以要想共用数据,则需要使用静态成员和静态函数. 空间分配 静态成员是在程序编译时分配空间,而在程序结束时释 ...
- numpy meshgrid函数
1.meshgrid函数用两个坐标轴上的点在平面上画格. 用法: [X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的 [X, ...
- 关于MySQL中添加数据的两种方法
下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连 ...
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 5. 参数
上一个教程中,咪博士带大家学习了函数的使用.例如,line_without_moving 函数,可以让海龟先画出一条线段,然后再回来起点. def line_without_moving(): tur ...
- Mysql 悲观锁
转载:http://chenzhou123520.iteye.com/blog/1860954 悲观锁介绍: 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处 ...
- Launch4j Java 转可执行程序工具
launch4j 可以用来将Java应用程序转成Windows本地可执行文件 (.exe).提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ANT编译脚本 ...
- MarkdownPad 注册码 Version 2.5.0.27920
[注册码] 还望多多支持正版 邮箱地址: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6 ...
- Inside JVM 内存模型
Inside JVM 内存模型 来源 原文:https://blog.csdn.net/silentbalanceyh/article/details/4661230 参考:IBM开发中心文档,&l ...
- 码云平台IDEA系列的插件使用
一.IDEA插件安装 file -- setting -- Plugins -- 搜索gitee -- Search in repositories 安装后重启编译器 二.登录并拉取项目 file ...
- MT【218】交点个数
若函数$f(x)=x^3+ax^2+bx+c$有极值点$x_1,x_2$,且$f(x_1)=x_1$,则关于$x$的方程$3(f(x))^2+2af(x)+b=0$的不同实数根个数为_____ 注意到 ...