SpringBoot之Java配置
Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式。
Java配置是通过@Configuation和@Bean来实现的:
1、@Configuation注解,说明此类是配置类,相当于Spring的XML方式
2、@Bean注解,注解在方法上,当前方法返回的是一个Bean
eg:
此类没有使用@Service等注解方式
package com.wisely.heighlight_spring4.ch1.javaconfig;
public class FunctionService {
public String sayHello(String world) {
return "Hello " + world + "!";
}
}
此类没有使用@Service注解lei,也没有使用@Autowire注入Bean
package com.wisely.heighlight_spring4.ch1.javaconfig;
public class UseFunctionService {
FunctionService functionService;
public void setFunctionService(FunctionService functionService) {
this.functionService = functionService;
}
public String SayHello(String world) {
return functionService.sayHello(world);
}
}
1、使用@Configuation注解说明此类是一个配置类
2、使用@Bean注解的方式注解在方法上,返回一个实体Bean,Bean的名称是方法名。
3、注入FunctionService的Bean的时候,可以直接使用functionService方法。
4、注解将functionService作为参数直接传入UseFunctionService。在spring容器中,只要在容器中存在一个Bean,就可已在另一个Bean的声明方法的参数中直接使用。
package com.wisely.heighlight_spring4.ch1.javaconfig; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class JavaConfig {
@Bean
public FunctionService functionService() {
return new FunctionService();
} @Bean
public UseFunctionService useFunctionService() {
UseFunctionService useFunctionService = new UseFunctionService();
useFunctionService.setFunctionService(functionService());
return useFunctionService;
} @Bean
public UseFunctionService useFunctionService(FunctionService functionService) {
UseFunctionService useFunctionService = new UseFunctionService();
useFunctionService.setFunctionService(functionService);
return useFunctionService;
}
}
测试类:
package com.wisely.heighlight_spring4.ch1.javaconfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
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("java config"));
context.close();
}
}
SpringBoot之Java配置的更多相关文章
- SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池
三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...
- SpringBoot学习(二)-->Spring的Java配置方式
二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...
- SpringBoot学习(二)——Spring的Java配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...
- 1-3. SpringBoot基础,Java配置(全注解配置)取代xml配置
最近突发奇想,整合一下以前一些学习笔记,分享自己这几年爬过的坑,逐步更新文章,谢谢大家的关注和支持. 这节讲一下SpringBoot的学习必须的一些基础,Java配置.其实在Spring2.0时代就已 ...
- 1.0-springboot的java配置方式
1.创建User实体类. @Data public class User { private String username; private String password; private Int ...
- SpringBoot使用Nacos配置中心
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...
- SpringBoot零XML配置的Spring Boot Application
Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件.YAML 文件.环境变量和命令行参数来定义优先级不同的配置值.零XML配置的Spring B ...
- Spring 的java 配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...
- springboot系列三、springboot 单元测试、配置访问路径、多个配置文件和多环境配置,项目打包发布
一.单元测试 生成的demo里面包含spring-boot-starter-test :测试模块,包括JUnit.Hamcrest.Mockito,没有的手动加上. <dependency> ...
随机推荐
- (.NET高级课程笔记)反射总结
反射总结 1.dll-IL-matadata-反射 2.反射加载dll,获取module.类.方法.特性 3.反射创建对象:反射+简单工厂+配置文件 4.反射调用实例方法.静态方法.重载方法.私有方法 ...
- log4net 写入 mongodb+Mongodb记录日志
项目里面需要记录大量的日志,为了方便分析,也是为了方便开发人员远程查询日志,可以把日志写入MongoDB. 1.先上Log4net配置 <?xml version="1.0" ...
- PHP菜鸟如何开始学习PHP语言
把我自己学习PHP的经验分享出来,既给想学习PHP的朋友提供一个思路,也算是整理一下自己的思路,好给后续的教程开个头吧~ 学习其实也是有方法的,举个例子:在您上学期间,班里一定有学霸,也有学渣,也有普 ...
- python3.*的一些笔记
因为使用python越来越频繁,有一些细节的东西经常用后一段时间没去用就会忘记,做些简单的笔记吧. 1.break和continue和pass a = 0 while 1: a+=1 if(a%3== ...
- 使用gulp构建一个项目
gulp是前端开发过程中自动构建项目的工具,相同作用的还有grunt.构建工具依靠插件能够自动监测文件变化以及完成js/sass/less/html/image/css/coffee等文件的语法检查. ...
- Linq基础+Lambda表达式对数据库的增删改及简单查询
一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net,省去了自己敲代码的实体类和数据访问类的大量工作 实体类: 添加一个Linq to sql 类 --- ...
- Mysql如何进行分组,并且让每一组的结果按照某个字段排序,并且获取每一组的第一个字段
select * from (select * from table_name order by id desc) h where h.catagory_id in(value1,value2,val ...
- 组件 restful_API
1 token 认证 2 权限 3 注册器和响应 4 频率组件
- 我的web前端整理和学习
知识点收藏:(边看.边记录.边写) 开直播学习:虎牙 待办事理>> 练习自我表达(把文章做成视频).技术学习总结(博客与公众号).跳出舒适圈. 前端知识体系:https://www.cnb ...
- MacOS修改用户名后变为普通用户,无法创建管理员账号
摘要:有的时候用户修改原电脑用户名,会把该用户降为普通用户,点击下方的锁会弹出下方图示,导致无法修改任何设置 解决方案: 重启电脑Restart按Command+S进入终端terminal输入以下命令 ...