Spring——第一个Spring程序和IOC创建对象
1.第一个Spring程序
-
创建一一个简单Maven项目,在
pom.xml
文件导入响应的依赖项<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency> </dependencies>
-
编写一个Hello实体类
public class Hello { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void show(){ System.out.println("Hello"+ name ); } @Override public String toString() { return "Hello{" + "name='" + name + '\'' + '}'; } }
-
在
resources
目录下编写xml文件,这里命名为: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 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <!--bean就是java对象 , 由Spring创建和管理--> 8 <bean id="hello" class="com.jiang.pojo.Hello"> 9 <property name="name" value="Spring"/> 10 </bean> 11 12 </beans>
-
在test.java文件夹中编写测试类
@Test public void test(){ //解析applicationContext.xml文件 , 生成管理相应的Bean对象 ApplicationContext context = newClassPathXmlApplicationContext("applicationContext.xml"); //getBean : 参数即为spring配置文件中bean的id . Hello hello = (Hello) context.getBean("hello"); hello.show(); }
2.IOC创建对对象的方式
-
创建User实体类
package com.jiang.pojo; public class User { private String name; public User() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public User(String name) { this.name = name; } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }
-
使用无参构造创建对象(默认)
-
假设使用有参构造创建对象。
-
下标赋值
<!--第一种,下标赋值!--> <bean id="user" class="com.jiang.pojo.User"> <constructor-arg index="0" value="姜嘉航1号"/> </bean>
-
按照类型赋值
<!--第二种方式:通过类型创建,不建议使用!--> <bean id="user" class="com.jiang.pojo.User"> <constructor-arg type="java.lang.String" value="姜嘉航2号"/> </bean>
-
按照参数名赋值
<!--第三种,直接通过参数名来设置--> <bean id="user" class="com.jiang.pojo.User"> <constructor-arg name="name" value="姜嘉航3号"/> </bean>
-