当前位置: 首页 > article >正文

Spring IOC(五个类注解)

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.kler.cn/a/590618.html

相关文章:

  • Node.js入门指南:初探JavaScript的后端世界
  • LuaJIT 学习(5)—— string.buffer 库
  • Apifox使用总结
  • 力扣Hot100——169. 多数元素
  • OSPF与RIP联动实验
  • GStreamer —— 3.1、Qt+GStreamer制作多功能播放器,支持本地mp4文件、rtsp流、usb摄像头等(可跨平台,附源码)
  • 如何高效安装和配置WordPress:从基础依赖到高级设置
  • GaussDB分布式集群数据库创建database
  • 目标检测任务,如何区分两个相近似的目标
  • QT | 信号与槽(超详解)
  • 高级java每日一道面试题-2025年3月03日-微服务篇[Eureka篇]-Eureka自我保护机制是什么?
  • 安卓,高效文件管理与逆向修改的完美工具
  • 【java零碎知识点】------返回值类型的大小排序
  • 工程化与框架系列(36)--前端监控告警实践
  • SpringMVC(八)Knife4j 接口文档
  • Anaconda 入门指南
  • 在群晖DS923+手动安装我Wordpress最新版
  • 定义模型生成数据表
  • rust 中的package、crate、module
  • python打印输出到文件