Spring框架解析02
前言:上一章节,我们聊了IoC和DI,我们这一小节通过与上节课类似的功能,来讲解怎么用JAVA配置。
1、JAVA配置是什么?
JAVA配置是Spring4.x的推荐配置 ,可以完全代替xml配置的方式。值得一提的是SpringBoot也是用这种配置进行实现的 ,这就为啥SpringBoot完全不需要xml配置文件的原因!
学好这个是理解SpringBoot理念的一个重要知识点,这也是博主为啥大费周章也要抽个时间写这篇博客的原因。接下来我们直接上代码演示。
2、代码实现。
2.1创建项目
一如既往的使用IDEA进行项目创建。创建一个maven项目 ,然后将Spring-context引入。ps:项目名就按自己的意愿进行填写。
2.2代码实现
首先,理一下我们要干嘛。我们要使用JAVA配置来进行IoC和DI的实现。然后接下来就是代码的编写了!
- (1)创建注入实体类textService
package com.demo.service;
public class textService {
//创建测试类服务类,此类是用来注入目标类,我们需要通过@bean注解来进行创建 。
public String sayHlleo(String word){
return "这是测试"+word;
}
}
- (2)创建目标实体类userService
public class userService {
//通过构造方法的方式 注入,依赖注入除了注解注入也可以使用构造函数的方式注入
private textService textservice;
//当然还可以用set进行注入。此处就是将创建一个新的textserviceset到类中
public void setTextservice(textService textservice){
this.textservice=textservice;
}
//此次通过直接使用@Bean注解 ,和 @Configarue
public String say(String word){
return "通过@Bean 和 configuattion来测试JAVA配置 代替xml配置" +word+ textservice.sayHlleo("这是构造函数中");
}
}
- (3)创建配置类
配置类是关键,这是JAVA配置不需要用XML文件配置的关键点,可以画五星!
@Configuration //标识这个类是一个配置类, 相当于 xml文件
//如何体现了 这个了,你现在不需要进行扫描包了 ,因为这个里面已经是你注册的所有bean了。
public class userServiceConfig {
//这里面的@Bean注解是用来标识这些类是被Spring管理的类。
@Bean
public textService getTextService(){
textService t1 = new textService();
return t1;
}
//我们通过set的方式将上面的类注入到了 userService类中去 。
@Bean
public userService getuserservice(){
userService u = new userService();
u.setTextservice(getTextService());
u.say("hehe");
return u;
}
}
- (4)创建容器启动项目
public class test {
public static void main(String[] args){
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(userServiceConfig.class);
userService u1 = applicationContext.getBean(userService.class);
System.out.print( u1.say("测试"));
}
}
效果
总结
JAVA配置将会再SpringBOOT中占据很重要的一个部分,这个是实现如何无需XML配置的关键点!小伙伴们可以多多了解。今天只是大概的聊下JAVA配置,其次,本文参考于Spirng Boot 实战(Java EE开发的颠覆者一书)
就这样,8 ~啾咪