1. 开启注解
在resouces下增加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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</bean>
</beans>
其中,一定要添加xmlns:context="http://www.springframework.org/schema/context和 <context:annotation-config/>
2. 注解开发
- 添加bean的配置
<bean id="cat" class="top.shuaiguo.pojo.Cat"></bean>
<bean id="person" class="top.shuaiguo.pojo.Person"></bean>
- 在私有属性上增加@Autowired
类与类的关系图如下:
关系示意
Person类代码实现:
package top.shuaiguo.pojo;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
@Data
public class Person {
@Autowired
private Cat cat;
@Autowired
private Dog dog;
@Autowired(required = false)
private Dark dark;
}
Cat类代码实现:
package top.shuaiguo.pojo;
public class Cat {
public void shout(){
System.out.println("miao....");
}
}
3. 组件自动扫描
- 在applicationContext.xml配置,设置自动扫描的包:
<!--开启自动扫描的包-->
<context:component-scan base-package="top.shuaiguo"></context:component-scan>
<context:annotation-config/>
- 在需要添加到bean的类上面增加@Component
@Component
public class UserDao {
}
- 类中声明私有属性,在属性上使用@Value("具体值")
@Data
@Component
public class UserDao {
@Value("zhq")
private String name;
}
- 编写测试方法;
public class MyTest {
@Test
public void testCase(){
//获取上下文
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从上下文中获取bean
UserDao userDao = context.getBean("userDao",UserDao.class);
// 打印name属性
System.out.println(userDao.getName());
}
}
- 其他注解(@Controller/@Service/@Repository)作用与@Compent一样将当前类市委spring的组件
网友评论