IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Spring搭建框架步骤
2023-12-14 11:32:48
第一章 初识Spring
1.1 Spring简介
-
Spring是一个为简化企业级开发而生的开源框架。
-
Spring是一个IOC(DI)和AOP容器框架。
-
IOC全称:Inversion of Control【控制反转】
- 将对象【万物皆对象】控制权交个Spring
-
DI全称:(Dependency Injection):依赖注入
-
AOP全称:Aspect-Oriented Programming,面向切面编程
-
官网:https://spring.io/
1.2 搭建Spring框架步骤
-
导入jar包
<!--导入spring-context--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.1</version> </dependency> <!--导入junit4.12--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
-
编写核心配置文件
-
配置文件名称:applicationContext.xml【beans.xml或spring.xml】
-
配置文件路径:src/main/resources
-
示例代码
<?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"> <!-- 将对象装配到IOC容器中--> <bean id="stuZhenzhong" class="com.atguigu.spring.pojo.Student"> <property name="stuId" value="101"></property> <property name="stuName" value="zhenzhong"></property> </bean> </beans>
-
-
使用核心类库
@Test public void testSpring(){ //使用Spring之前 // Student student = new Student(); //使用Spring之后 //创建容器对象 ApplicationContext iocObj = new ClassPathXmlApplicationContext("applicationContext.xml"); //通过容器对象,获取需要对象 Student stuZhenzhong = (Student)iocObj.getBean("stuZhenzhong"); System.out.println("stuZhenzhong = " + stuZhenzhong); }
1.3 Spring特性
- 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API。
- 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。
- 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
- 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的JDBCTemplate)。
1.4 Spring中getBean()三种方式
-
getBean(String beanId):通过beanId获取对象
- 不足:需要强制类型转换,不灵活
-
getBean(Class clazz):通过Class方式获取对象
-
不足:容器中有多个相同类型bean的时候,会报如下错误:
expected single matching bean but found 2: stuZhenzhong,stuZhouxu
-
-
getBean(String beanId,Clazz clazz):通过beanId和Class获取对象
- 推荐使用
注意:框架默认都是通过无参构造器,帮助我们创建对象。
? 所以:如提供对象的构造器时,一定添加无参构造器
1.5 bean标签详解
- 属性
- id:bean的唯一标识
- class:定义bean的类型【class全类名】
- 子标签
- property:为对象中属性赋值【set注入】
- name属性:设置属性名称
- value属性:设置属性数值
- property:为对象中属性赋值【set注入】
文章来源:https://blog.csdn.net/ZCY5202015/article/details/134916606
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!