7.1使用java的方式配置spring
我们现在要完全抛开spring的xml配置了,全权交给java来做!
javaConfig是spring的一个子项目,在spring4之后,它就成为了一个核心功能。
接下来我们实现一个例子(注意看注释部分)
实体类
package com.example.demo.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class User {
private String name;
public String getName() {
return name;
}
@Value("山长水阔")
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
配置文件
package com.example.demo.config;
import com.example.demo.pojo.Demo;
import com.example.demo.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;
//这个也会在spring容器托管,注册到容器中,因为他本身就是一个@Component
//@Configuration 代表这是一个配置类,就和我们之前看到的beans.xml
@Configuration
@ComponentScan("com.example.demo")
@Import(Demo.class)
public class UserConfig {
//注册一个bean,就相当于我们之前写的一个bean标签。
//这个方法的名字就相当于bean标签中的id属性
//这个方法的返回值,就相当于bean标签中的class属性
@Bean
public User fan(){
return new User();//就是返回要注入到bean的对象
}
}
测试类
package com.example.demo.MyText;
import com.example.demo.config.UserConfig;
import com.example.demo.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MyTest001 {
public static void main(String[] args) {
//如果完全使用了配置类的方式去做,我们就只能通过ApplicationConfig,上下文来获取容器,通过配置类的class来加载
ApplicationContext context = new AnnotationConfigApplicationContext(UserConfig.class);
User user = context.getBean("fan",User.class);
System.out.println(user.getName());
}
}
注意点:
这种纯Java的注解在springboot中随处可见!
一点要注意注解的积累Spring–简笔随文5所有的注解(会随时更新)