学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean ...

打印 上一主题 下一主题

主题 636|帖子 636|积分 1908

2023-01-13
一、Spring
1、Spring简介
(1)Spring是一个为简化企业级开发而生的开源框架。
(2)Spring是一个IOC(DI)和AOP容器框架。
IOC:Inversion of Contriol(控制反转,即将对象的控制权交给Spring)
AOP:Aspect-Oriented Programming,面向切面编程
DI:Dependency Injection(依赖注入)
(3)官方文档:
  1. http://www.spring.io
复制代码
2、搭建Spring框架步骤
(1)导入jar包
jar包可以在maven中查找
  1. <dependency>
  2.     <groupId>org.springframework</groupId>
  3.     <artifactId>spring-context</artifactId>
  4.     <version>5.3.10</version>
  5. </dependency>
复制代码
(2)编写核心配置文件
将配置文件命名为“applicationContext.xml(或者beans.xml或者spring.xml”
配置文件的路径在“src/main/resources”
(3)使用核心类库
3、创建Spring框架的步骤
(1)创建一个maven工程,命名为“day05_spring”
在“day05_spring/pom.xml”中添加jar包
  1. <dependencies>
  2.         
  3.         <dependency>
  4.             <groupId>org.springframework</groupId>
  5.             <artifactId>spring-context</artifactId>
  6.             <version>5.3.10</version>
  7.         </dependency>
  8.         
  9.         <dependency>
  10.             <groupId>junit</groupId>
  11.             <artifactId>junit</artifactId>
  12.             <version>4.12</version>
  13.             <scope>test</scope>
  14.         </dependency>
  15. </dependencies>
复制代码
(2)在“day05_spring/src/main/java/com.hh.spring.pojo”下创建“Student”类
  1. public class Student {
  2.     private Integer stuId;
  3.     private String stuName;
  4.     public Student() {
  5.     }
  6.     public Student(Integer stuId, String stuName) {
  7.         this.stuId = stuId;
  8.         this.stuName = stuName;
  9.     }
  10.     public Integer getStuId() {
  11.         return stuId;
  12.     }
  13.     public void setStuId(Integer stuId) {
  14.         this.stuId = stuId;
  15.     }
  16.     public String getStuName() {
  17.         return stuName;
  18.     }
  19.     public void setStuName(String stuName) {
  20.         this.stuName = stuName;
  21.     }
  22.     @Override
  23.     public String toString() {
  24.         return "Student{" +
  25.                 "stuId=" + stuId +
  26.                 ", stuName='" + stuName + '\'' +
  27.                 '}';
  28.     }
  29. }
复制代码
(3)在“day05_spring/src/main/resources”中创建“applicationContext.xml”
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5.         <bean id="stuZhangsan" class="com.hh.spring.pojo.Student">
  6.                 <property name="stuId" value="101"></property>
  7.                 <property name="stuName" value="zhangsan"></property>
  8.         </bean>
  9. </beans>
复制代码
(4)在“day05_spring/src/test/java”中设置测试类
  1. public class TestSpring {
  2.     @Test
  3.     public void testSpring(){
  4.         //创建容器对象
  5.         ApplicationContext iocObj = new ClassPathXmlApplicationContext("applicationContext.xml");
  6.         //通过容器对象,获取需要对象
  7.         Student stuZhangsan = (Student)iocObj.getBean("stuZhangsan");
  8.         System.out.println("stuZhangsan = " + stuZhangsan);
  9.     }
  10. }
复制代码
4、Spring的特性
(1)非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API。
(2)容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。
(3)组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用,在Spring中可以使用XML和java注解组合这些对象。
(4)一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供了表述层的SpringMVC和持久层的JDBCTemplate)。
5、Spring中getBean三种方式
(1)方式一
getBean(String beanId):通过beanId获取对象
不足:需要强制类型转换,不灵活
(2)方式二
getBean(Class clazz):通过Class方式获取对象
不足:容器中有多个相同类型bean的时候,会报错“expected single matching bean but found 2”
(3)方式三
getBean(String beanId,Clazz clazz):通过beanId和Class获取对象
常用
测试类的关键代码
  1. Student stuZhangsan = iocObj.getBean("stuZhangsan", Student.class);
  2. System.out.println("stuZhangsan = " + stuZhangsan);
复制代码
6、Spring中的标签
(1)属性
①id:bean的唯一标识
②class:定义bean的类型(指定class全类名)
(2)子标签
①property:为对象中属性赋值(set注入)
name属性:设置属性名称
value属性:设置属性数值

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表