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

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC 阅读详情

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();
    }
}
5,测试结果

Java:SpringBoot整合Spring Security实现认证与授权学习笔记_java spring 入门 授权 *开源地址:https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB **发送HTTP请求可以获得响应数据Hello// 获取用户权限信息// 获取权限信息// 根据用户名获取用户信息└── src├── main└── test├── http└── java└── com└── demo。 阅读详情

相关推荐

Spring Boot基础学习笔记01:Spring Boot入门程序

1. 了解Spring Boot框架的优点; 2. 掌握使用Maven方式构建Spring Boot项目; 3. 掌握使用Spring Initializr方式构建Spring Boot项目

howard2005的专栏 2087

SpringBoot、Android集成Mqtt简单测试

SpringBoot集成Mqtt 1.在POM.xml 添加依赖 <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-stream</artifactId> </dependency&...

Mying的博客 970

数字摄影与摄像中的图像信号处理器(ISP):流程与经典算法详解

图像信号处理器(Image Signal Processor, ISP)是现代数字成像系统(如智能手机、数码相机、网络摄像头等)中的核心组件,扮演着将图像传感器(如CMOS或CCD)捕获的原始光电信号转换为高质量、可供观看或进一步处理的数字图像的关键角色。在数字摄影和摄像的整个链路中,光线首先通过镜头(Lens)聚焦到图像传感器上,传感器将光信号转换为模拟电信号,随后经过模数转换(A/D转换)变为原始的数字图像信号。

qq_44682523的博客 3723

2020.2idea创建web_SpringBoot入门系列(一)如何快速创建SpringBoot项目

这段时间也没什么事情,所以就重新学习整理了Spring Boot的相关内容。今天开始整理更新Spring Boot学习笔记,感兴趣的朋友可以关注我的博客:https://www.cnblogs.com/zhangweizhong/category/1657780.html,希望能对你有所帮助。注意:为了让大家更快的入门学习,我后面整理的文章都是基于SpringBoot 2.2版本。下面就简单介绍下...

weixin_39518002的博客 250

私有云平台搭建——OpenStack

私有云平台搭建——OpenStack 搭建过程

2301_79739036的博客 3089

ARM架构下Horizon Client安装全攻略:从依赖检查到环境变量配置

本文详细介绍了在ARM架构设备上安装VMware Horizon Client的全过程,包括依赖检查、软件包获取、系统部署和环境变量配置。特别针对华为鲲鹏等ARM平台,提供了从基础准备到性能优化的完整指南,帮助用户高效完成虚拟桌面客户端的部署与调优。

github5actions的博客 552

SpringBoot开发安卓后端(一)

Spring Boot学习之路 简介: 安卓开发学了一段时间,但一直自己没有写过后端,参加比赛自己也没负责过后端,自己缺乏独立开发app的全部能力,一直心里不爽,虽然现在复习比较紧张,因为某些因素自己还是想搞一下后端,了却心中未竟之事。 首先,自己打算先大致看下成型项目,学一个完整的简单功能,比如登录,涉及前后端,主要后端学习,了解一下后端的开发流程。 此处,参考一个简单登录项目博客,含有spring boot配置 ...

zj_ying的博客 1万+

从零开始的计网学习——物理层

计算机网络对于IT人不论是就业还是升学都是核心的一门课程,一起从零开始,学习计算机网络!

Nimrod__的博客 2万+

后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)

1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug。 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到的技术包括Jackson、OkHttp、bouncycastle、Spring Data JPA。 2 环境 Android 4.1.2 IDEA 2020.3.1 Spring Boot 2.4.2 MySQL 8.0.23 OpenJDK 11 环境准备就略过了,需要的可以参考这里。 3 后端 3.1

氷泠 6348

innovus: 如何让两个generate clock balance skew group?

如题,在sdc约束中两个generate clock被设置到同一个clock group中,工具虽然会生成对应的两个skew group,但是阅读ccoot_spec发现工具并没有让两个skew group进行balance,这时就需要手动设置balance skew group。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 4049

SAP特殊库存全解析:供应商寄售、客户寄售、分包与项目库存说明

客户寄售库存(Customer Consignment)是企业将物料存放于客户处,客户实际领用后才确认销售收入。这种模式能缩短交货周期、提高客户满意度,但需严格跟踪寄售库存的数量与状态。

我小时候很黑的博客 822

Spring Boot实战之Java配置

Java配置Java配置Spring4.x推荐的配置方式,可以完全替代xml配置;Java配置也是Spring Boot推荐的配置方式。Java配置是通过@Configuration和@Bean来实现的。 @Configuration声明当前类是一个配置类,相当于一个Spring配置的xml文件。 @Bean注解在方法上,声明当前方法的返回值为一个Bean 全局配置使用Java配置(如数据库相关配置

lowAndLow的博客 563

Xinference新手指南(一个命令直接安装成功)

对于新手,必须得学会使用docker部署,这是基本功!这里就不过多去介绍了,如果评论要出教程的话,以后再出了。

Ven%的博客 818

SpringBoot学习笔记01——springboot初探

该笔记参照【狂神说Java】SpringBoot最新教程IDEA版通俗易懂完成,如有需要请自行观看。。。 相关素材已放百度网盘,如需,自取: 链接:https://pan.baidu.com/s/1waKyNJYCnHilTp6Q-PBa6g 提取码:selt 1. 什么是Spring Spring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:Rod Johnson。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 2. Spring是如何简化Java开发的 为了降低

I张小博I的博客 427

Python爬虫模拟登录京东并抓取商品数据

京东是一个拥有海量商品数据的电子商务平台。作为爬虫开发者,能够抓取这些数据将为我们提供很多机会进行数据分析、价格预测、市场调研等工作。然而,京东的反爬虫机制非常强大,包括但不限于验证码、动态加载页面、IP封禁等。因此,想要通过Python爬虫抓取京东的数据并不容易。在本文中,我们将从分析京东的登录机制开始,逐步介绍如何使用Python中的各种工具,如。

2201_76125261的博客 1828

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SpringBoot01笔记

*SpringBoot菜鸟基础01 spring发展 Spring1.x时代 在spring1.x时代,都是通过xml配置bean,随着项目的不断扩大,需要将xml配置分配到不同的配置文件中,需要频繁的在java代码和xml配置文件不断切换。 Spring核心配置文件 ApplicationContext.xml Spring2.x时代 随着jdk5带来了注解的支持,spring2.x可以使用注解对bean进行声明和注入,减少了xml文件,简化了开发 最佳配置: 1.数据库,资源文件等基本配置用

weixin_44019875的博客 217

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SpringBoot资料合集-01【Spring Boot 简介及快速搭建】

SpringBoot它基于Spring4.0设计,是由 Pivotal 公司提供的框架。 SpringBoot 基于 Spring 开发。不仅继承了Spring框架原有的优秀特性,它并不是用来替代 Spring 的解决方案,而和 Spring 框架紧密 结合进一步简化了Spring应用的整个搭建和开发过程。其设计目的是用来简化 Spring 应用的初始搭建以及开发过程怎么简化的呢?就是 通过提供默认配置等方式让我们更容易使用。关于 SpringBoot 有一句很出名的话就是约定大于配置。采用 Spring

m0_70893079的博客 5644

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SpringBoot笔记01

YAML全称是 YAML Ain't Markup Language。YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。YAML文件的扩展名可以使用.yml或者.yaml。

PYKE_CHEN的博客 1136

【Spring系列六】Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

最近小编整理了一下一线架构师的Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC,分享给大家一起学习一下~ 注意:有需要免费领取一线架构师的Spring全家桶笔记的朋友,可以私信【spring】免费领取~不要错过哦~ 01 Spring Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,

xiaomanong123的博客 398

【Spring Boot学习笔记01】Spring Boot入门介绍

【Spring Boot学习笔记01】Spring Boot入门介绍 一.什么是Spring Boot Spring Boot是用来简化Spring应用开发的一个框架 基于Spring+SpringMVC+Mybatis的应用开发还存在多配置,低效率,部署复杂,第三方技术集成难度大等问题 SpringBoot提供了一个J2EE的一站式解决方案,让开发从Spring全家桶时代迈向Spring Boot时代 二.Spring Boot的优点 1.能够快速运行Spring项目,并且与主流框架集成 2.嵌入式Ser

HKD的博客 2708

java springboot配置

对于Java后端开发者而言最常用的开发工具则是IDEA了,而对于前端开发者而言最熟悉的开发工具便是VSCode,两者都有自己的特点,今天我们就分析一下两者之间的区别。(1)功能对比:IDEA是一个完整的集成开发环境,支持Java、Kotlin、Scala等语言。它有很多强大的功能,比如代码重构、调试、版本控制等。而VSCode则是一个轻量级的代码编辑器,它支持多种语言,但是不像IDEA那样有完整的开发环境。

lucust的博客 1132

乐优商场项目day01——SpringBoot Java配置

一、配置的历史 在Spring3.0开始,Spring官方就已经开始推荐使用java配置来代替传统的xml配置了 Spring的历史: Spring1.0时代 在此时因为jdk1.5刚刚出来,注解开发还没有流行,这时候一切Spring配置都是xml格式(特别麻烦) Spring2.0时代 Spring引入了注解开发,但是因为并不完善,因此并未完全替代xml,此时的程序员...

猿兄 396

《Spring Boot实战指南》01-01:Spring Boot概述

--

西安极客联盟 1040

【狂神说Java】SSM+SpringBoot笔记

目录【MyBatis】【Spring】【SpringMVC】【SpringBoot】纯静态资源项目源码 学完当然要csdn记录呀~ 以下为狂神的笔记,整理了链接大全,方便学习,附有自己整理的SpringBoot 员工管理系统:纯静态资源和项目源码,需要的自取 【MyBatis】 狂神说MyBatis01:第一个程序 狂神说MyBatis02:CRUD操作及配置解析 狂神说MyBatis03:ResultMap及分页 狂神说MyBatis04:使用注解开发 狂神说MyBatis05:一对多和多对一处理 狂

一只小逸白 1625

SpringBoot-学习笔记01【SpringBoot介绍】

SpringBoot-学习笔记01【SpringBoot介绍】

upward 661

Spring01

Spring概述、分层解耦、整合框架、Spring和SpringBoot之间的区别、Spring创建对象的过程、控制反转、Spring中Bean的介绍、依赖注入(DI)

m0_68201836的博客 1088
上一篇: IDEA不生成.class文件
下一篇: SpringBoot实战笔记:02_使用注解与Java配置的Aop示例
george_zyf
博客等级 码龄11年 132粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值