java bean配置_Java方式bean的注入以及自动配置

Java配置

Java配置的本质上,就是使用一个Java类去代替xml配置,这种配置方式在目前最主流的Spring Boot中得到了广泛的使用。

1、引入相关Spring相关依赖

7b5334e772cd9d64cd3d1061c6692704.png

2、创建Java配置类:

/**

* 这是一个Java配置类,它的作用类似于applicationContext.xml配置文件

* @author 叶小陌

*

*/

@Configuration

public class JavaConfig {

/**

* 返回一个JavaBean的方法就类似于applicationContext.xml中的一个bean标签

*

* @return

* 默认情况下,id就是方法名,可以通过@bean注解的value或者name属性自定义方法名

*/

@Bean(name="book")

public Book getBook(){

return new Book();

}

}

3、加载Java配置

public class Main1 {

ApplicationContext ac;

@Test

public void test() {

Book book = (Book) ac.getBean(Book.class);

System.out.println(book);

}

@Before

public void before(){

ac = new AnnotationConfigApplicationContext(JavaConfig.class);

}

}

自动配置

xml 配置实现 xml配置,主要通过四个注解,这四个注解,目前来说,功能是一样的:

@Component,一般用在身份不明确的组件上

@Service,一般用在Service层

@controller,一般用在控制层

@Repository,一般用在数据库访问层

然后在xml文件中配置自动扫描:

如果有多个包需要扫描,多个包使用“,”隔开,也可以直接配置扫描父包。 还可以配置扫描某个注解,如下:

use-default-filters表示使用使用spring默认提供的过滤器,false表示不使用,true则表示使用。 一般来说,true结合exclude-filter标签使用,表示除去某个注解 false结合include标签使用,表示包含某个注解

注意:Component是另外三个注解(Service、Controller、Repository)的父类。

Java配置实现 Java配置和xml配置基本一致,唯一不同的地方就是包扫描的方式。 四个注解是一样的。 包扫描是通过@ComponentScan来实现:

@Configuration

@ComponentScan("com.sxt.bean")

public class JavaConfig {

}

Java配置一样可以实现精确的包扫描:

@Configuration

@ComponentScan(value="com.sxt.bean",useDefaultFilters=false,includeFilters={

@ComponentScan.Filter(type=FilterType.ANNOTATION,value=Service.class)

})

public class JavaConfig {

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值