1、Spring的定义:
Spring是于2003 年兴起的一个轻量级的Java 开源框架,它由Rod Johnson创建。传统J2EE应用的开发效率低,Spring作为开源的中间件,提供J2EE应用的各层的解决方案,Spring贯穿了表现层、业务层及持久层,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式(full-stack)”选择。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。
简单来说,Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
2、使用Spring的目的:
a)方便解耦,简化开发
b)AOP编程的支持
c)声明式事务的支持
d)方便程序的测试
e)方便集成各种优秀框架
f)降低Java EE API的使用难度
3、搭建Spring HelloWord项目
a) 下载spring
http://repo.spring.io/release/org/springframework/spring/
b)建立web项目,并导入基本包:bean、context、core、expression、logging (日志用)
c)建立applicationContext.xml文件,并加上
在eclipse中检测约束是否添加成功,可以使用alt+/,如果有标签提示,即加入正确。
d)建立一个user实体类:
public class User {
private Integer u_id;
private String u_username;
private String u_password;
public Integer getU_id() {
return u_id;
}
public void setU_id(Integer u_id) {
this.u_id = u_id;
}
public String getU_username() {
return u_username;
}
public void setU_username(String u_username) {
this.u_username = u_username;
}
public String getU_password() {
return u_password;
}
public void setU_password(String u_password) {
this.u_password = u_password;
}
}
e)将实体类注入到spring容器,即在applicationContext.xml上添上一个
f)撰写测试类
@Test
public void test() {
//根据spring容器配置获取对象
ApplicationContext aContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//通过对象的name 生成对象,但需要类型强制转换
//User user = (User) aContext.getBean("user");
//通过getBean配置好的User对象(向容器要对象,不自己去new了)
User user = aContext.getBean(User.class);
System.out.println(user);
}
4、spring IoC \DI概念
(1)IoC(Inversion of Control)反转控制:将创建对象的工作交给Spring容器帮我们完成。
IOC的反转:创建对象这份工作由我们自己执行反转给spring帮我们执行
IOC的控制:就是由spring帮我们负责创建销毁对象,掌控对象的生命周期等,在需要使用对象的时候跟spring申请即可
IOC是一种设计模式、设计思想,需要DI(依赖注入)技术的支持;
(2)DI(Dependency Injection)依赖注入:将值通过配置的方式为变量初始化/赋值(注入)
注入方式:set方法注入、构造注入、字段注入
注入类型:
值类型(value) - - 八大基本数据类型
引用类型(ref) - - String \自定义对象
5、Spring-sts spring在eclipse下的插件 ,要根据eclipse的版本下载对应的插件。下载地址:http://spring.io/tools/sts/all/