一.开发步骤
1.添加依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
</dependencies>
2.配置
<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-4.0.xsd">
<bean id="user" class="User"/>
</beans>
3.编写类和方法
public class User {
public void add(){
System.out.println("user add......");
}
}
4.测试
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
User user = (User)applicationContext.getBean("user");
user.add();
}
二.bean管理
1.使用配置文件创建对象所进的bean的实例化方式,最常用的是使用类中无参构造函数创建,类中必须要有默认的无参构造函数
2.bean标签的常用属性
- id 对象的名称
- class 对象类的全限定名称
- scope 对象的范围(singleton,propertype)
三.属性注入
1.getter和setter方式注入
//配置
<bean id="user" class="User">
<property name="username" value="steven"/>
</bean>
//类和方法
public class User {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
//测试
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
User user = (User)applicationContext.getBean("user");
System.out.println(user.getUsername());
}
2.构造函数方式注入
//测试
<bean id="user" class="User">
<constructor-arg value="steven"/>
</bean>
//类和方法
public class User {
private String username;
public User(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
}
//测试
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
User user = (User)applicationContext.getBean("user");
System.out.println(user.getUsername());
}
3.对象类型方式注入
//配置
<bean id="userDao" class="UserDao"/>
<bean id="userService" class="UserService">
<property name="userDao" ref="userDao"/>
</bean>
//类和方法
public class UserDao {
public void add(){
System.out.println("UserDao...");
}
}
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(){
userDao.add();
}
}
//测试
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
UserService userService = (UserService)applicationContext.getBean("userService");
userService.add();
}