Spring IOC(五个类注解)

embedded/2025/3/19 15:03:38/
controller、service、Repository、ComponentConfiguration
package com.java.ioc;import com.java.ioc.Controller.HelloController;
import com.java.ioc.rep.UserRepository;
import com.java.ioc.service.UserService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {//告诉Spring帮我们管理对象,ioc:五个类注解:controller    ConfigurableApplicationContext context= SpringApplication.run(DemoApplication.class, args);
1.//    HelloController tean=context.getBean(HelloController.class);
//    tean.prin();//    //等于HelloController helloController=new HelloController();
//    //helloController.prin();2.//    HelloController bean2=(HelloController) context.getBean("helloController");
//    bean2.prin();3.//    HelloController tean1=(HelloController) context.getBean("aaa");//@Controller("aaa")重命名
//    tean1.prin();4.//    HelloController bean3=context.getBean("helloController",HelloController.class);
//    bean3.prin();//
//    //ioc:类注解:service
//    UserService dean1=context.getBean(UserService.class);
//    dean1.p();
//
//    //ioc:类注解:Repository
//    UserRepository dean2=context.getBean(UserRepository.class);
//    dean2.p();
////ioc:类注解:Component //ioc:类注解:Configuration}}

eg:

相同点:Component的衍生注解

不同点:

@Controller:控制层,接收参数

控制层必须使用Controller其他可以替换但不建议,因为不同注解含义不同可能存在不必要麻烦)

@Service:业务逻辑层

@Repository:数据层

@Configuratrin:配置层

@Component:组件层(但边界不是很清晰)

@Bean

//Spring默认扫描路径为启动类所在路径
//@ComponentScan("com.java.ioc")//加这个后以这个为准@SpringBootApplication//启动类


http://www.ppmy.cn/embedded/173885.html

相关文章

UI设计公司:数据大屏设计提升用户体验的方法

在当今数据驱动的时代,数据大屏作为信息展示和决策支持的重要工具,其设计不仅关乎数据的准确性和可读性,更直接影响到用户体验和决策效率。一个精心设计的数据大屏能够迅速捕捉用户的注意力,提供直观、清晰的信息视图,…

apk反编译Apktool.jar

Apktool 快速使用教程 先去下载:apktool 1. 准备工作 将 apktool_2.11.1.jar 和 apk.apk放在同一目录,例如F:\JLM。 2. 反编译 APK 在 F:\JLM\ 目录下运行: F:\JLM>java -jar apktool_2.11.1.jar d apk.apk -o test执行过程&#xf…

如何上传文件到github

如何上传文件到github **方法 1:使用 Git 命令行(推荐)****步骤 1:初始化 Git 仓库(如果还没有)****步骤 2:添加远程仓库****步骤 3:添加整个文件夹并提交****步骤 4:推送…

数据可视化在特征分布对比中的应用

数据可视化在特征分布对比中的应用 1. 引言 在机器学习系统开发和维护过程中,特征分布对比是评估数据质量和模型鲁棒性的关键环节。当训练数据与测试数据分布存在偏差,或生产环境中的数据分布随时间发生变化时,模型性能通常会显著下降。有效的数据可视化不仅能帮助检测这些…

常见限流算法及实现

1. 固定窗口计数器(Fixed Window Counter) 原理:在固定时间窗口(如1分钟)内统计请求数,超过阈值则拒绝后续请求。优点:实现简单,内存占用低。缺点:存在窗口切换时的流量…

鸿蒙跳转到系统设置app界面

// 跳转系统app设置界面static startToSystemSetting(){let context getContext() as common.UIAbilityContext;let want: Want {bundleName: com.huawei.hmos.settings,//设置应用bundleNameabilityName: com.huawei.hmos.settings.MainAbility,//设置应用abilityNameuri:…

基于Springboot+服务器磁盘的本地文件存储方案

[local-file-system]基于服务器磁盘的本地文件存储方案 仅提供后端方案 github 环境 JDK11linux/windows/mac 应用场景 适用于ToB业务,中小企业的单体服务,仅使用磁盘存储文件的解决方案 仅使用服务器磁盘存储 与业务实体相结合的文件存储方案&…

华为ISC+战略规划项目数字化转型驱动的智慧供应链革新(169页PPT)(文末有下载方式)

资料解读:华为ISC战略规划项目数字化转型驱动的智慧供应链革新 详细资料请看本解读文章的最后内容。 华为的ISC战略规划项目是其供应链数字化转型的核心,旨在通过智慧供应链的革新,提升企业的竞争力和运营效率。本文将从多个维度详细解读这…