跟着官网学spring—快速入门指南
跟着官网学Spring—构建RESTful Web服务
Spring从入门到入土——概述以及IOC理论推导
Spring从入门到入土——快速上手Spring
Spring从入门到入土——依赖注入(DI)
Spring从入门到入土——Bean的作用域
Spring从入门到入土——自动装配
Spring从入门到入土——使用注解
Spring从入门到入土——AOP就这么简单
Spring从入门到入土——代理模式
我们要想使用Spring,首先肯定要先导入其jar包,我们只需要在maven配置文件中加入响应的依赖,就会自动下载相应的依赖项,
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webmvcartifactId>
<version>5.2.0.RELEASEversion>
dependency>
public class Hello {
public String str;
public String getStr() {
return str;
}
public void setStr(String str) {
System.out.println("set");
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str='" + str + '\'' +
'}';
}
}
<?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">
<!--使用spring来创建对象-->
<bean id="hello" class="com.zhonghu.pojo.Hello">
<property name="str" value="Spring"/>
</bean>
</beans>
@Test
public void test(){
//解析beans.xml文件 , 生成管理相应的Bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//getBean : 参数即为spring配置文件中bean的id .
Hello hello = (Hello) context.getBean("hello");
System.out.println(hello.toString());
}
public class User {
private String name;
public User() {
System.out.println("user无参构造方法");
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+ name );
}
}
<?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">
<bean id="user" class="com.zhonghu.pojo.User">
<property name="name" value="zhonghu"/>
</bean>
</beans>
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//在执行getBean的时候, user已经创建好了 , 通过无参构造
User user = (User) context.getBean("user");
//调用对象的方法 .
user.show();
}
可以发现,在调用show方法前,User对象就已经通过无参构造初始化了
public class UserT {
private String name;
public UserT(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+ name );
}
}
<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">
<bean id="userT" class="com.zhonghu.pojo.UserT">
bean>
<bean id="userT" class="com.zhonghu.pojo.UserT">
<constructor-arg index="0" value="zhonghu"/>
bean>
<constructor-arg type="java.lang.String" value="zhonghu"/>
bean>
beans>
@Test
public void testT(){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
UserT user = (UserT) context.getBean("userT");
user.show();
}
在配置文件加载的时候。其中管理的对象都已经初始化了
alias 为bean设置别名,可以同时设置多个别名
<alias name="userT" alias="userNew"/>
<bean id="hello" name="hello2 h2,h3;h4" class="com.zhonghu.pojo.Hello">
<property name="name" value="Spring"/>
bean>
一般用于团队开发,可以将多个配置文件导入合并为一个。
<import resource="{path}/beans.xml"/>