博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Spring】Spring基础配置-Java配置
阅读量:6448 次
发布时间:2019-06-23

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

转载请注明出处:

本文源自【】

分析

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置;

Java配置也是Spring Boot推荐的配置方式。

Java配置不需要@Service声明Bean。

也不需要@Autowired注入Bean。
只需要通过@Configuration和@Bean来实现。

@configuration声明当前类是一个配置类,相当于一个Spring配置的xml文件.@Bean注解在方法上,声明当前方法的返回值为一个Bean.

本篇只是演示最简单的Java配置,本【Spring】系列博客会一直更新。

要一直学下去的,可以关注我博客。

对于类的说明,我一般是写在代码注释中。

示例:

编写功能类的Bean

package cn.hncu.p1_3_2;/** * Created with IntelliJ IDEA. * User: 陈浩翔. * Date: 2016/11/4. * Time: 下午 10:43. *///注意! 此处没有使用@Servicepublic class FunctionService {
public String sayHello(String word){ return "Hello "+word + " !"; }}

使用功能类的Bean

package cn.hncu.p1_3_2;import cn.hncu.p1_3_1.*;/** * Created with IntelliJ IDEA. * User: 陈浩翔. * Date: 2016/11/4. * Time: 下午 11:10. *///注意!此处没有使用@Service声明Beanpublic class UseFunctionService {
FunctionService functionService; //此处没有使用@Autowired注解注入Bean public void setFunctionService(FunctionService functionService){ this.functionService = functionService; } public String sayHello(String word){ return functionService.sayHello(word); }}

配置类

package cn.hncu.p1_3_2;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * Created with IntelliJ IDEA. * User: 陈浩翔. * Date: 2016/11/4. * Time: 下午 11:17. */@Configuration//使用@Configuration注解表明当前类是一个配置类,这意味着这个类里可能有0个或者多个@Bean注解、//此处没有使用包扫描,是因为所有的Bean都在此类中定义了public class JavaConfig {
@Bean //使用@Bean注解声明当前方法FunctionService的返回值是一个Bean,Bean的名称是方法名 public FunctionService functionService(){ return new FunctionService(); } /* @Bean public UseFunctionService useFunctionService(){ UseFunctionService useFunctionService = new UseFunctionService(); useFunctionService.setFunctionService(functionService()); //注入FunctionService的Bean时候直接调用functionService() return useFunctionService; } */ @Bean public UseFunctionService useFunctionService(FunctionService functionService){ //另外一种注入的方式,直接将FunctionService作为作为参数给useFunctionService(),这也是Spring容器提供的极好的功能。 //在Spring容器中,只要容器中存在某个Bean,就可以在另外一个Bean的声明方法的参数中直接写入 UseFunctionService useFunctionService = new UseFunctionService(); useFunctionService.setFunctionService(functionService); return useFunctionService; }}

运行类

package cn.hncu.p1_3_2;import org.springframework.context.annotation.AnnotationConfigApplicationContext;/** * Created with IntelliJ IDEA. * User: 陈浩翔. * Date: 2016/11/4. * Time: 下午 11:36. */public class Main {
public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class); UseFunctionService useFunctionService = context.getBean(UseFunctionService.class); System.out.println(useFunctionService.sayHello("张三")); context.close(); }}

运行结果

项目链接-具体的包;

本文章由编写, 所有权利保留。

转载请注明出处:

本文源自【】

你可能感兴趣的文章
《并行计算的编程模型》一2.2.2 线程
查看>>
新华三开启计算新格局
查看>>
电讯盈科iVisionBanking:让银行更智能
查看>>
全闪存的崛起与混合存储的没落
查看>>
在微服务中使用领域事件
查看>>
Linux中高效编写Bash脚本的10个技巧
查看>>
为什么大家都喜欢使用开源软件?
查看>>
IAAS 和 PAAS 是如何高度体现运维本质的
查看>>
HTTP协议入门
查看>>
棋牌游戏服务器架构: 部署
查看>>
Linux信号(signal) 机制分析(1)
查看>>
硝烟弥漫的超融合战场
查看>>
如何使用Apple Watch 让 Mac 电脑能自动解锁进入MacOS Sierra系统
查看>>
SQLServer如何获取客户端IP
查看>>
中科院宣布自研5G基带等关键芯片:替代进口产品
查看>>
大数据就是这么神奇!
查看>>
靠ta取胜?阿里云强势崛起冲击世界前三!
查看>>
云计算固然好 但挑战依然存在
查看>>
英伟达第四财季净利2.07亿美元 同比增长7%
查看>>
云服务器 ECS 最佳实践:借助于实例 RAM 角色访问其它云产品 API
查看>>