spring入门 使用注解代替xml配置

Posted ICE_Inspire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring入门 使用注解代替xml配置相关的知识,希望对你有一定的参考价值。

1.导包(略)

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     <!--注意配置xsd,要么报错:通配符的匹配很全面, 但无法找到元素 ‘context:component-scan‘ 的声明。-->
11 
12     <context:component-scan base-package="com.ice.bean"/>
13 </beans>
base-package扫描的包,会包含子包.

[email protected]

写法一: User类

 1 import org.springframework.stereotype.Component;
 2 
 3 @Component(value = "user") //等同于在xml里定义了 <bean id="user" class="" />
 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 }

main方法:

    ApplicationContext context = new ClassPathXmlApplicationContext("setting/applicationContext.xml");
    User user = (User) context.getBean("user");

写法二: 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 }

main方法:

    ApplicationContext context = new ClassPathXmlApplicationContext("setting/applicationContext.xml");
    User user = context.getBean(User.class);

4.其他注解

@Repository
@Service
@Controller 这三个注解跟Component一个效果
@Scope(scopeName = "prototype")//singleton prototype
@Value 放在字段上,是反射实现赋值;放在set方法上,是通过调用方法赋值.

@Autowired 按照类型 //import org.springframework.beans.factory.annotation.Autowired;
@Qualifier 按照名称 //@Autowired @Qualifier 可以一起用
@Resource //import javax.annotation.Resource;

...

以上是关于spring入门 使用注解代替xml配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea(

spring javaConfig配置代替xml配置

Spring中用配置类代替配置xml文件

spring框架学习笔记3:使用注解代替配置文件

使用@Configuration注解来代替Spring的bean配置

使用@Configuration注解来代替Spring的bean配置