Spring框架
介绍
Spring框架是一个轻量级的企业框架,兴起于2003年。当时流行的传统JavaEE框架均为过于臃肿的 “重量级” 架构体系,其开发效率,开发难度和实际的性能都不能满足人们的需求。Spring中文含义为 “春天” 正如它的名称一样,Spring框架的诞生给人一种格外清新的感觉,蕴藏着勃勃生机。
概念:
Spring是由Rod Johnson开发的一个开源容器框架,提供了控制反转[IOC],依赖注入[DI],面向切面[AOP],事务管理,框架整合等功能,用于简化企业级应用开发。
特点:
1.轻量级:
Spring提供了许多服务,但这些服务默认关闭.同时,完整的Spring框架可以以在1M多大小的jar文件发布.
2.控制反转:
应用本身不负责依赖对象(被调用对象)的创建及维护,由外部容器负责依赖对象的创建及维护.
3.面向切面:
在运行时,动态的将代码切入到类的指定方法或位置上.
4.容器:
Spring包含并管理应用对象的配置和生命周期,因此Spring称为容器.
下载Spring:
http://www.springsource.org/download
https://repo.spring.io/libs-release-local/org/springframework/spring/
开发步骤:
第1步: 添加jar包
commons-logging-1.2.jar
spring-aop-5.1.2.RELEASE.jar
spring-beans-5.1.2.RELEASE.jar
spring-context-5.1.2.RELEASE.jar
spring-core-5.1.2.RELEASE.jar
spring-expression-5.1.2.RELEASE.jar
第2步: 创建Java类
创建1个实体类
备注: 测试Spring框架控制实体类[创建实体类,提供实体类对象]
public class User {
private int id;
private String name;
private String Sex;
private int age;
private String address;
get、set()方法
第3步: 编写Spring配置文件
配置文件名称[beans.xml,application.xml,spring.xml,spring-bean.xml等等]任意,位置不限[src下].
配置文件模板位置[参考pdf或html]
<bean id="user" class="pojo.User"/>
第5步: 测试程序
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("application.xml");
User user = (User) context.getBean("user");
user.setName("小宝");
System.out.println(user);
自定义模板文件:

Spring Ioc
Ioc的全称为:[Inversion of Control]即为控制反转,意为把对资源的控制权反转过来。Ioc不是一项开发技术,也不是具体功能,而是面向对象编程中的一种设计理念。
概念:
控制反转[Inversion of Control]指应用本身不负责依赖对象(被调用对象)的创建及维护,由外部容器负责依赖对象的创建及维护.
实现方式:
第1种: 构造方法:比如:
<!--第一种方式-->
<!--user = Class.forName(pojo.User).构造函数-->
<bean id="user" class="pojo.User"/>
第2种: 工厂类的静态方法:
创建一个工厂类,加入静态获取对象方法:
public class UserFactory {
public static User getUser(){
return new User();
}
}
<!--第二种方式:工厂类静态方法-->
<bean id="user" class="factory.UserFactory" factory-method="getUser"/>
第3种: 工厂类的对象方法
把static去掉
public class UserFactory {
public User getUser(){
return new User();
}
}
<!--第三种方式:工厂类对象方法-->
<bean id="userfactory" class="factory.UserFactory"/>
<bean id="user" factory-bean="userfactory" factory-method="getUser"/>
第4种: 注解方式
a.添加context命名空间和context约束文件的地址。
b.添加<context:component-scan base-package=“包名”>。
c.在相关类上添加注解:
注解: @Controller[标注在Action类上],@Service[标注在业务类上],@Repository,@Component[无法分辨层级,比如实体]。
作用: 声明将当前类交给Spring容器管理。
多个包名之间逗号隔开。
<!--方式4: 注解方式-->
<!--
开启自动扫描,Spring将扫描指定包中的类,并将@Component,@Service,@Mapper,@Controller等等标注的类,交给Spring容器管理
注意: 默认扫描的类的Bean匿名为首字母小写的类名.
-->
<context:component-scan base-package="pojo,test"/>
@Component //将类交给Spring容器管理 可以通过value属性自定义别名
public class User {
private int id;
private String name;
private String Sex;
private int age;
private String address;
测试方法:
public static void main(String[] args) {
ApplicationContext context

本文介绍了Spring框架的起源、特点和核心概念,包括控制反转(IoC)和依赖注入(DI)。详细讲解了Spring的IoC实现方式,如构造方法、工厂类以及注解方式,并展示了DI的不同实现,如setter注入、构造器注入和注解注入。最后,提到了P命名空间的使用,强调了Spring通过DI实现Java类解耦的重要性。
最低0.47元/天 解锁文章
402

被折叠的 条评论
为什么被折叠?



