依赖
<!--spring-context涵盖了aop,beans,core,expression-->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.18</version>
</dependency>
实体类
// @Component:注册到Spring容器中,@Controller、@Repository、@Service功能相同
@Component
// 设置作用域:单例模式
@Scope("singleton")
public class User {// @Autowired:注解方式自动注入,required:为true不能为空,为false可以为空// @Autowired(required = false)// @Qualifier:配合@Autowired使用,指定一个bean注入// @Qualifier(value = "user1")// @Resource会根据属性名称或属性类型匹配合适的bean// 如果名称、类型都不是唯一的可以指定一个bean// @Resource(name = "user2")private Integer id;// @Value赋默认值@Value("zhangsan")private String name;private Integer age;
}
配置类
// @Configuration声明一个配置类,相当于一个xml配置文件
@Configuration
// 扫描包
@ComponentScan("org.example.pojo")
// 引入其他配置类:@Import(MyConfig2.class)
public class MyConfig {// 注册一个bean,方法名就是bean的id,返回值就是bean的class@Beanpublic User getUser(){// 返回一个bean对象return new User();}
}
测试类
public class ConfigTest {public static void main(String[] args) {ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);System.out.println(context.getBean("getUser"));}
}