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)官方檔案:
http://www.spring.io
2、搭建Spring框架步驟
(1)匯入jar包
jar包可以在maven中查找
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.10</version> </dependency>
(2)撰寫核心組態檔
將組態檔命名為“applicationContext.xml(或者beans.xml或者spring.xml”
組態檔的路徑在“src/main/resources”
(3)使用核心類別庫
3、創建Spring框架的步驟
(1)創建一個maven工程,命名為“day05_spring”
在“day05_spring/pom.xml”中添加jar包
<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.10</version> </dependency> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
(2)在“day05_spring/src/main/java/com.hh.spring.pojo”下創建“Student”類
public class Student { private Integer stuId; private String stuName; public Student() { } public Student(Integer stuId, String stuName) { this.stuId = stuId; this.stuName = stuName; } public Integer getStuId() { return stuId; } public void setStuId(Integer stuId) { this.stuId = stuId; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } @Override public String toString() { return "Student{" + "stuId=" + stuId + ", stuName='" + stuName + '\'' + '}'; } }
(3)在“day05_spring/src/main/resources”中創建“applicationContext.xml”
<?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="stuZhangsan" class="com.hh.spring.pojo.Student"> <property name="stuId" value="101"></property> <property name="stuName" value="zhangsan"></property> </bean> </beans>
(4)在“day05_spring/src/test/java”中設定測驗類
public class TestSpring { @Test public void testSpring(){ //創建容器物件 ApplicationContext iocObj = new ClassPathXmlApplicationContext("applicationContext.xml"); //通過容器物件,獲取需要物件 Student stuZhangsan = (Student)iocObj.getBean("stuZhangsan"); System.out.println("stuZhangsan = " + stuZhangsan); } }
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獲取物件
常用
測驗類的關鍵代碼
Student stuZhangsan = iocObj.getBean("stuZhangsan", Student.class);
System.out.println("stuZhangsan = " + stuZhangsan);
6、Spring中的標簽
(1)屬性
①id:bean的唯一標識
②class:定義bean的型別(指定class全類名)
(2)子標簽
①property:為物件中屬性賦值(set注入)
name屬性:設定屬性名稱
value屬性:設定屬性數值
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/541924.html
標籤:其他
