初学Spring
程序员文章站
2022-07-12 16:08:11
...
初学Spring
Spring 之父Rod Johnson
spring核心功能
-
IoC/DI(控制反转)
功能:原先由程序员主动通过new来实例化对象,转交给Spring负责。
作用:解除了对象管理和程序员之间的耦合,解耦
-
AOP
-
声明式事务
-
环境搭建
-
导入jar包
四个核心包(Beans,Core,Context,Spel)必须要有
-
在src下创建applicationContext.xml(文件名和路径可以自定义)
spring 的配置信息基于schema(DTD的升级版),
配置文件中只需要引入基本的schema
<?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/sc hema/beans http://www.springframework.org/schema/beans/spring-be ans.xsd"> <!-- id 表示获取到对象标识 class 创建哪个类的对象 --> <bean id="peo" class="com.catjava.pojo.People"/> </beans>
-
编写测试方法
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xm l"); People people = ac.getBean("peo",People.class); System.out.println(people);
-
spring的三种创建对象的方式
-
通过构造方法创建
-
无参创建:默认情况是无参构建
public People() { System.out.println("无参构造方法"); }
-
有参创建:
-
需要在类中提供有参构造方法
public People(int years, String name, boolean sex) { super(); this.years = years; this.name = name; this.sex = sex; }
-
在配置文件(我的是applicationContext.xml )中进行配置
<bean id="people1" class="com.catjava.pojo.People"> <constructor-arg index="0" name="years" type="int" value="18"></constructor-arg> <constructor-arg index="1" name="name" type="String" value="maoyan"></constructor-arg> <constructor-arg index="2" name="sex" type="boolean" value="1"></constructor-arg> </bean>
说明:
index:参数的索引,从0开始
name:参数名
type:参数类型
如果有多个构造方法都匹配,则执行最后一个
-
-
-
实例工厂创建
-
先创建工厂
public class PeopleFactory { public People newInstance(){ return new People(19,"maoyan2",true); } }
-
在配置文件中配置工厂和所需要的对象
<!-- 创建工厂对象 --> <bean id="factory" class="com.catjava.pojo.PeopleFactory"> </bean> <bean id="people2" factory-bean="factory" factory-method="newInstance"></bean>
factory-bean:指定工厂
factory-method:指定方法
在工厂中可以创建不同的方法去实例化不同的对象,这里只有一个方法,所以只指定了那一个方法
-
-
静态工厂创建
-
不需要创建工厂,快速创建对象
-
在实例工厂中添加一个静态方法
public static People newInstance2() { return new People(20,"maoyan3",false); }
-
配置配置文件
<bean id="people3" class="com.catjava.pojo.PeopleFactory" factory-method="newInstance2" ></bean>
-
调用方法
People people2=PeopleFactory.newInstance2();
-
上一篇: 笔记_使用视图控制器
下一篇: TypeScript基础(二) 变量说明