Springboot基于自定义注解的自动装配

1.定义java bean

@Data  //lombok注解
public class User {
    private Integer userId;
    private String userName;
}

2.创建configuration类

public class UserConfig {
    @Bean
    public User getUser(){
        User user = new User();
        user.setUserId(1);
        user.setUserName("你好啊 哈哈哈哈");
        return user;
    }
}

3.定义注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(UserConfig.class)
public @interface EnableAutoImport {
}

4.调用

@SpringBootApplication
@EnableAutoImport   //打上你自定义的注解
public class DemoApplication implements InitializingBean {
//这里实现了InitializingBean 在初始化bean的时候都会执行afterPropertiesSet
    @Autowired
    private User user;   //注入 user类

    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    public void afterPropertiesSet() throws Exception {
    	//在这里调用了装配进来的类
        System.out.println(user.getUserName());
    }
}

你可能感兴趣的:(java)