Spring-Java配置版本
2023-12-15 11:58:09
依赖
<!--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
@Bean
public 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"));
}
}
文章来源:https://blog.csdn.net/h_e_l_l_o_______/article/details/134938991
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!