首页 > 编程语言 >SpringBoot实战笔记:01_Spring中的Java配置

SpringBoot实战笔记:01_Spring中的Java配置

时间:2022-11-05 20:11:06浏览次数:42  
标签:useFunctionService UseFunctionService 01 Java SpringBoot functionService bean Fu

转载:https://blog.csdn.net/android_zyf/article/details/79579862

Spring4.x与SpringBoot都推荐使用Java配置
xml配置:将bean的信息配置在xml配置文件中
注解配置:在对应的bean上使用注解将该bean添加到ioc容器中
Java配置:可以完全替代xml配置。(推荐)
@Configuration声明当前类是一个配置类,相当于Spring的一个配置文件。
@Bean注解在方法上,声明当前方法的返回值是一个Bean。
Java配置示例
0,Maven配置:pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.zyf</groupId>
<artifactId>PreSpringBoot01</artifactId>
<version>1.0-SNAPSHOT</version>

<!--定义属性-->
<properties>
<spring-framework.version>4.3.8.RELEASE</spring-framework.version>
</properties>

<!--导入依赖库-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-framework.version}</version>
</dependency>
</dependencies>

<!--设置编译级别-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<!--指定java版本-->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

1,创建类FunctionService
//@Service 这里没有使用注解
public class FunctionService {

public String fun(String str){
return "愉快:" + str;
}
}

2,创建类UserFunctionService
public class UseFunctionService {

// @Autowired 这里也没有使用装配注解
private FunctionService functionService;

public void setFunctionService(FunctionService functionService) {
this.functionService = functionService;
}

public String fun(String str){
return functionService.fun(str);
}
3,创建Java配置类:JavaConfig
@Configuration//表示当前类是一个配置类
public class JavaConfig {

@Bean//表示该方法会返回一个bean,bean的名称就是方法名
public FunctionService functionService(){
//自己创建一个FunctionService对象并返回
return new FunctionService();
}

@Bean//表示该方法会返回一个bean
public UseFunctionService useFunctionService(){
//自己构建一个UserFunctionService对象并返回
UseFunctionService useFunctionService = new UseFunctionService();
//直接调用functionService注入functionService对象
useFunctionService.setFunctionService(functionService());
return useFunctionService;
}

/**
* spring容器提供的功能,只要容器中存在某个bean,就可以在另一个bean的方法声明中使用参数注入
* @param functionService
* @return
*/
@Bean//表示该方法会返回一个bean
public UseFunctionService useFunctionService(FunctionService functionService){
//自己构建一个UserFunctionService对象并返回
UseFunctionService useFunctionService = new UseFunctionService();
//直接调用将参数functionService对象注入
useFunctionService.setFunctionService(functionService);
return useFunctionService;

4,测试
public class Main {
public static void main(String[] args) {
//原来创建一个ClassPath...是传入一个spring配置文件的路径
//现在使用java配置,是传入一个java类对象
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(JavaConfig.class);
UseFunctionService useFunctionService = context.getBean(UseFunctionService.class);
System.out.println(useFunctionService.fun("哈哈哈哈哈哈"));

//关闭容器
context.close();
}
}
————————————————
版权声明:本文为CSDN博主「george_zyf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/android_zyf/article/details/79579862

标签:useFunctionService,UseFunctionService,01,Java,SpringBoot,functionService,bean,Fu
From: https://www.cnblogs.com/ceshi2016/p/16860986.html

相关文章

  • Java学习——11.06
    Java的第一个大关。scanf函数的不同。这可能就是收到C语言的思维影响吧,Java中的scanf函数的运用和先前引用实例变量一样,要先new一个。例:Scannerscanner=newScann......
  • java常用API--->ArryList集合基础
    简述集合和数组的对比数组长度固定,集合长度可变。数组可存储基本数据类型和引用数据类型,集合只能存储引用数据类型,如果要存储基本数据类型要将其变成包装类Arrylis......
  • Luogu P5816[CQOI2010]内部白点题解
    LinkLuoguP5816Description一个平面直角坐标系内有\(n\)个黑点,其余点为白点,将会进行若干次变换,每次变换会把上下左右方向都有黑点的白点变成黑点,直到找不到符合要求......
  • JavaIO流
    我们得先了解什么是文件?文件就是我们保存数据的地方(类似word文档,excel文件,png图片,MP4视频,…这些都是存储数据的地方)流的概述​要完成文件的读写操作,就必须了解C#中另外......
  • JAVAI学习笔记
    文件流什么是文件流?数据从一个地方流到另一个地方可读流(Readable):外部设备(磁盘,网卡,显卡,打印机等等)--->>>内存可写流(Writeable):内存--->>>外部设备(磁......
  • 在网页中加载闪存文件系统中的图片、css和javascript
    在网页中加载闪存文件系统中的图片、CSS和JavaScript–太极创客(taichi-maker.com)index.html:ESP8266开发板建立的网站首页main.css:控制网页的css(层叠样式表)JavaS......
  • JavaIO流
    文件的创建与查询1、什么是文件?文件是我们保存数据的地方2、文件流文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据......
  • 700001 TXT 公共课的书籍列表
    1、办公软件应用在人们日常学习和生活中,很多工作都离不开文字处理软件,常见的办公自动化软件有微软公司研发的基于Windows操作系统的MicrosoftOffice和金山软件公司研发......
  • java常用API--->字符串
    String概述java.lang.String类代表字符串,java程序中的所有字符串文字都是此类的对象。注:字符串的内容是不会发生改变的,它的对象在创建后不能被更改。String是java定义......
  • java 字节流写入
    packagecom.tedu.day1201;importjava.io.File;importjava.io.FileOutputStream;publicclassStudy_Fos{publicstaticvoidmain(String[]args){......