spring入门(二) 使用注解代替xml配置
2021-06-16 09:03
标签:autowired spring入门 声明 type org 全面 utf-8 res new 写法一: User类 main方法: 写法二: User类 main方法: @Repository @Autowired 按照类型 //import org.springframework.beans.factory.annotation.Autowired; ... spring入门(二) 使用注解代替xml配置 标签:autowired spring入门 声明 type org 全面 utf-8 res new 原文地址:https://www.cnblogs.com/ICE_Inspire/p/9726955.html1.导包(略)
2.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 xmlns:context="http://www.springframework.org/schema/context"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans
6 http://www.springframework.org/schema/beans/spring-beans.xsd
7 http://www.springframework.org/schema/context
8 http://www.springframework.org/schema/context/spring-context.xsd
9 ">
10
11
12 context:component-scan base-package="com.ice.bean"/>
13 beans>
base-package扫描的包,会包含子包.
3.@Component
1 import org.springframework.stereotype.Component;
2
3 @Component(value = "user") //等同于在xml里定义了
ApplicationContext context = new ClassPathXmlApplicationContext("setting/applicationContext.xml");
User user = (User) context.getBean("user");
1 import org.springframework.stereotype.Component;
2
3 @Component
4 public class User {
5 private String name;
6 private Integer age;
7
8 public String getName() {
9 return name;
10 }
11
12 public void setName(String name) {
13 this.name = name;
14 }
15
16 public Integer getAge() {
17 return age;
18 }
19
20 public void setAge(Integer age) {
21 this.age = age;
22 }
23 }
ApplicationContext context = new ClassPathXmlApplicationContext("setting/applicationContext.xml");
User user = context.getBean(User.class);
4.其他注解
@Service
@Controller 这三个注解跟Component一个效果
@Scope(scopeName = "prototype")//singleton prototype
@Value 放在字段上,是反射实现赋值;放在set方法上,是通过调用方法赋值.
@Qualifier 按照名称 //@Autowired @Qualifier 可以一起用
@Resource //import javax.annotation.Resource;