spring java配置_Spring Java配置要点
发布日期:2021-06-24 11:23:59 浏览次数:3 分类:技术文章

本文共 1347 字,大约阅读时间需要 4 分钟。

Spring专题

Spring Java配置要点

Spring的核心配置是 @Configuration类,这是我们放置所有Spring上下文属性的地方。通常的元注解如下:

@Component

普通组件类型

@Repository

持久层

@Service

服务层

@Component

表现层

组件的扫描

在对我们的类进行元注解以后,我们现在需要将它们加入到Spring上下文,这是使用 @Configuration class by @ComponentScan

@Configuration

@ComponentScan("my.package.containing.beans")

public class SpringConfig {

}

使用字符串文字代表的包名 - 很容易犯错误是很难找到。这是必须注意的,好在可以使用basePackageClasses 参数来替代,如下:

@Configuration

@ComponentScan(basePackageClasses = BeansPackageMarker.class,

includeFilters = @ComponentScan.Filter(ConventionSucks.class))

public class SpringConfig {

}

这里@ComponentScan 拓展了使用我们自己定制的元注解@ConventionSucks

ANNOTATION

以给定的元注解标注

ASSIGNABLE_TYPE

分配给给定的类型

ASPECTJ

AspectJ 类型

REGEX

Wiring beans

现在我们已经配置Spring如何能够识别我们的bean, 下面是如何实现依赖注入,分两种情况:

1. 由我们创建的bean

2.外部的bean

第一种情况使用@Autowired , 能够在构造器 字段 方法等使用。

@Component

public class UserBeanB {

private final UserBeanA userBeanA;

@Autowired

public UserBeanB(UserBeanA userBeanA) {

this.userBeanA = userBeanA;

}

}

当然我们也可以使用@Inject 替代@Autowired

对于外部bean,我们无法控制的类,比如在外部的框架或库包内:

@Configuration

public class SpringConfig {

@Bean

public ExternalObjectA externalObjectA() {

return new ExternalObjectA();

}

@Bean

public ExternalObjectB externalObjectB1() {

return new ExternalObjectB(externalObjectA());

}

@Bean

public ExternalObjectB externalObjectB2() {

return new ExternalObjectB(externalObjectA());

}

}

转载地址:https://blog.csdn.net/weixin_32473663/article/details/114480487 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:共享内存 java_java - Java客户端-服务器编程:客户端之间的共享内存 - 堆栈内存溢出...
下一篇:java常见对象_Java 常见对象 02

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月25日 17时35分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章