Spring4学习回顾之路01—HelloWorld
以前公司一直使用的是spring3.0,最近一段时间开始用了4.0,官网上都已经有了5.0,但是很多知识点已经忘了差不多了,趁现在项目不忙写写随笔,一来回顾自己的知识点,二来如果能帮助比我还小白的小白,那最好不过了,不定期更新,温故而知新。
Spring官网(https://spring.io)
Spring是什么?
spring是为了简化企业级应用开发而生的开源框架(主要是简化了过去EJB2的开发),它是轻量级的(非入侵式)和一站式(整合能力强)框架,也是一个IOC(DI)(依赖注入)和AOP(面向切面编程)的容器(包含管理应用对象的生命周期)框架。
Spring带给java第二春,所以有人说Spring就等同于JavaEE,虽然不太合适,但是也有一定的道理,下面的图是Spring的主要模块:

(具体详细的介绍参考官网,这里就不在过多介绍了,直接开始写第一个HelloWorld)
首先建立一个项目(基于IntelliJ IDEA),引用相对应的jar,如图所示:

建立Studet.java:
package com.lql.spring01; /**
* @author: lql
* @date: 2019.09.24
* Description:
*/
public class Student {
private String name;
private Integer age;
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public void Hello() { System.out.println("Hello :" + this.getName());
}
}
相对传统的做法为:先实例化Student类,再通过对象赋值后调用Hello();

-----------------------------------------------------------------------------------------------------------------------------------------------
Spring的HelloWorld如下:
首先在工程里创建一个spring的配置文件“applicationContext.xml”(名称可以随意命名,官网建议此命名applicationContext),在applicationContext.xml里面配置bean,整体效果如下:

相对应的注释和注意事项已经写在截图里,接下来就是将bean交给Spring了;代码如下(不用记)
public static void main(String[] args) {
// Student student = new Student();
// student.setName("lql");
// student.Hello();
//创建IOC容器
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean
Student student = app.getBean("student", Student.class);
//调用方法
student.Hello();
}
打印如下,注释在截图中:

至此,一个简单的HelloWorld的程序写完了,接下来我们讲讲IOC&DI,Spring中的第一个核心。
(小白程序猿,有错欢迎纠错)
虽然有些事情,从一开始就意味着结束,从一开始就知道没有结果,那是不是就不让它开始呢?如果害怕失去就放弃拥有的权利,那么人生好像也就失去了意义
Spring4学习回顾之路01—HelloWorld的更多相关文章
- Spring4学习回顾之路03—XML配置Bean ,依赖注入的方式
配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version=&q ...
- Spring4学习回顾之路12-事务
事务:事务就是一系列的动作,它们被当做一个单独的工作单元,这些动作要么全部完成,要么全部不起作用:事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性.事务的四个关键属性(ACI ...
- Spring4学习回顾之路11-AOP
Srping的核心除了之前讲到的IOC/DI之外,还有一个AOP(Aspect Oriented Programming:面向切面编程):通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 ...
- Spring4学习回顾之路10-Spring4.x新特性:泛型依赖注入
泛型依赖注入:Spring 4.x中可以为子类注入子类对应的泛型类型的成员变量的引用. 话语太过抽象,直接看代码案例,依次建立如下代码: User.java package com.lql.sprin ...
- Spring4学习回顾之路09-基于注解的方式配置bean
一:基于注解配置Bean 首先介绍下组件扫描(component scanning): Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 包括: -@Component ...
- Spring4学习回顾之路08- FactoryBean配置Bean
建立Student.java package com.lql.srping04; /** * @author: lql * @date: 2019.10.28 * Description: */ pu ...
- Spring4学习回顾之路07- 通过工厂方法配置Bean
一:通过静态工厂配置Bean 建立Student.java package com.lql.srping04; /** * @author: lql * @date: 2019.10.28 * Des ...
- Spring4学习回顾之路06- IOC容器中Bean的生命周期方法
SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行特定的任务! Spring IOC容器对Bean的生命周期进行管理的过程: -通过构造器或者工厂方法创建 ...
- Spring4学习回顾之路05—自动装配,Bean的继承,依赖和作用域
自动装配 xml配置里的Bean的自动装配,Spring IOC容器可以自动装配Bean,仅仅需要做的是在<bean>标签里的autowire属性里指定自动装配的模式. ①byType(根 ...
随机推荐
- 决策树算法的Python实现—基于金融场景实操
决策树是最经常使用的数据挖掘算法,本次分享jacky带你深入浅出,走进决策树的世界 基本概念 决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数 ...
- Teamviewer14重置试用期版
网上的破解版基本上全部被封禁了,只能通过修改ID来无限试用这个方法了 有些个人使用频繁的用户,经常提示商业环境 此teamviewer14重置试用期,可以一直使用 有条件的还是建议购买付费版. 到期点 ...
- 百度AI接口调用
创建应用 登录网站 登录www.ai.baidu.com 进入控制台 进入语音技术 创建应用 管理应用 技术文档 SDK开发文档 接口能力 版本更新记录 注意事项 目前本SDK的功能同REST API ...
- Java内置锁synchronized的实现原理及应用(三)
简述 Java中每个对象都可以用来实现一个同步的锁,这些锁被称为内置锁(Intrinsic Lock)或监视器锁(Monitor Lock). 具体表现形式如下: 1.普通同步方法,锁的是当前实例对象 ...
- 【java设计模式】-13代理模式
代理模式(Proxy Pattern) 定义: 给某一个对象提供一个代理,并由代理对象控制对原对象的引用.在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到 ...
- HA 模式 Hadoop+ZooKeeper+Hbase启动顺序
一. 背景(原http://blog.csdn.net/u011414200/article/details/50437356 ,对其进行了一定更改) 1.1 网络上的大部分教程 都是机器间含有SSH ...
- 【CF671D】 Roads in Yusland(对偶问题,左偏树)
传送门 洛谷翻译 CodeForces Solution emmm,先引入一个对偶问题的概念 \(max(c^Tx|Ax \leq b)=min(b^Ty|A^Ty \ge c)\) 考虑这个式子的现 ...
- 删除Linux系统多余的引导
问题: 电脑中安装了多个Linux系统,需要删除不用的Linux系统的引导 解决方法: open terminal: su - 切换root用户 cd /boot/ ls ... grub ...
- HearthBuddy 突袭 rush
https://hearthstone.gamepedia.com/Rush Rush is an ability allowing a minion to attack other minions ...
- Flume-概述
Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume 基于流式架构,灵活简单. Flume最主要的作用就是,实时读取服务器本地磁盘的数据, ...