使用Java方式替换XML配置Spring
Posted 我永远信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Java方式替换XML配置Spring相关的知识,希望对你有一定的参考价值。
- 之前学习的都是使用XML来配置Spring,现在来学习一下如何使用Java的方式配置Spring。
- 选择使用Java,那么项目中就可以不需要xml了。
配置步骤:
1、获取Spring上下文(在MyTest中)
- new的是
AnnotationConfigApplicationContext
- 传递的参数是 (类+.class)
ApplicationContext context = new
AnnotationConfigApplicationContext(ConfigApplicationContext.class);
2.bean的声明
- 需要在类上加上
@Component
注解,代表给Spring 托管该类(相当于配置文件中的<bean id="" class=""/>
) @value
代表注入属性值(相当于配置文件中的property
)
@Component
public class User {
private String name;
@Value("帅哥")
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
3、配置文件(java)
- @Configuration:定义配置类,替换xml配置文件
- @ComponentScan(“com.yong.pojo”):指定了要扫描的包
- @Import(Config2.class):引入其他的配置文件。
- @Bean:将其注册到Spring容器中
上面这些属性用法和在xml中几乎相同。
@Configuration
@ComponentScan("com.yong.pojo")
@Import(Config2.class)
public class ConfigApplicationContext {
@Bean
public User getUser(){
return new User();
}
}
完整代码:
User.java 实体类
package com.yong.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class User {
private String name;
@Value("帅哥")
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
ConfigApplicationContext.java 配置类(相当于xml)
package com.yong.config;
import com.yong.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@ComponentScan("com.yong.pojo")
@Import(Config2.class)
public class ConfigApplicationContext {
@Bean
public User getUser(){
return new User();
}
}
MyTest.java 测试类
import com.yong.config.ConfigApplicationContext;
import com.yong.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
//xml配置
/* ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");*/
//java配置,注意参数是上面的配置类
ApplicationContext context = new AnnotationConfigApplicationContext(ConfigApplicationContext.class);
User user = context.getBean("getUser", User.class);
System.out.println(user.getName());
}
}
运行结果:成功
这些使用注解的方式,在Spring Boot中随从可见
以上是关于使用Java方式替换XML配置Spring的主要内容,如果未能解决你的问题,请参考以下文章