首页 > 编程语言 >基于注解的装配、以及纯Java配置(不用xml)

基于注解的装配、以及纯Java配置(不用xml)

时间:2023-10-06 22:00:05浏览次数:45  
标签:xml 装配 Java Spring 配置 Bean 注解

1、基于注解的装配参考课本以及陈恒spring教材很好理解,还参考了https://blog.csdn.net/huweiliyi/article/details/107641886(偏向代码分析)

https://www.bilibili.com/video/BV1tM4y1Y7Jf/?spm_id_from=333.337.search-card.all.click&vd_source=af888e4b9fbc70c4d5e7a445796ae8a1(偏向理论讲解)

2、随机数的区分https://blog.csdn.net/weixin_43232955/article/details/108813725

3、java创建数组https://blog.csdn.net/qq_44518192/article/details/107085678,总是忘记。。注意区分语言间的差异

4、纯java配置参考陈恒spring教材,也很通俗易懂

5、这次主要被困在json格式和对象处理上,尝试了网上多种方法,参考代码,最后发现必须要通过try...catch...抛出异常,单纯的exception不管用。对苹果对象的处理过程中,忘记循环,直接返回了apples,结果总是得到[]空数组的答案,卡了很久。

6、注解装配与XML的比较:在Spring中,使用XML配置文件可以实现Bean的装配工作,但在实际开发中如果Bean的数量较多,会导致XML配置文件过于臃肿,给后期维护和升级带来一定的困难。为解决此问题,Spring提供了注解,通过注解也可以实现Bean的装配。

 

使用注解装配bean的时候要引入Context约束而不是beans约束;xml方式中的配置是为了装配bean,注解方式的配置只是为了告诉Spring去哪里扫描,由类上的注解来装配bean。

 

基于xml的注解使用<context:component-scan base-package=”目录”/>语句。

 

 7、本次要用到的几种Spring注解:

 

@Component:指定一个普通的Bean,可以作用在任何层次;

 

@Controller:指定一个控制器组件Bean,用于将控制层的类标识为Spring中的Bean,功能上等同于@Component;

 

@Service:指定一个业务逻辑组件Bean,用于将业务逻辑层的类标识为Spring中的Bean,功能上等同于@Component;

 

@Repository:指定一个数据访问组件Bean,用于将数据访问层的类标识为Spring重的Bean,功能上等同于@Component;

 

@Autowired:指定要自动装配的对象;

 

@Resource:指定要注入的对象。

 

 8、Java配置是Spring4x推荐的配置方式,它是通过@Configuration和@Bean来实现的。@Configuration声明当前类是一个配置类,相当于一个 Spring 配置的XML文件@Bean 注解在方法上,声明当前方法的返回值为一个 Bean。

9、有时候使用Java配置反而更加烦琐。何时使用 Java配置?何时使用注解配置?全局配置尽量使用 Java 配置,如数据库相关的配置业务Bean的配置尽量使用注解配置,如数据访问层、业务逻辑层、控制器层等相关的配置。

 

标签:xml,装配,Java,Spring,配置,Bean,注解
From: https://www.cnblogs.com/caileilei/p/17745109.html

相关文章

  • JavaSE核心(5)
    四:面向对象   一、简介      1.概念:面向对象也即OOP(ObjectOrientedProgramming),是一种编程思想,它以对象作为基本的单元来构建系统,具有三大特征和五大原则。      2.三大特征:          1.封装:隐藏对象的属性和实现细节,仅对外提供公共访问方......
  • JavaSE核心(6)
    五:常用类   一、Number&Math类:包含了数据类型转换和用于执行基本数学运算的属性和方法。      1.常用方法           ......
  • JavaSE核心(7)
    二、String类      1.常用方法           三、时间日期类packagecom.binge.myblogsystem;publicclassTest{publicvoidtestBase(){//定义字符串Stringstr="hahaha";//获取字符串长度System.out.print......
  • JavaSE核心(3)
     四、流程控制语句      1.条件分支语句if(布尔表达式){//如果布尔表达式为true将执行的语句} if(布尔表达式){//如果布尔表达式的值为true}else{//如果布尔表达式的值为false}       2.循环语句while循环的语法如下:​while(布尔表达式){​......
  • JavaSE核心(4)
    三:数组   一、概述      1. 数组的概念:相同数据类型元素的集合      2. 数组的作用:用来存储基本数据类型和引用数据类型的数据    二、常用操作packagecom.binge.myblogsystem;publicclassTest{publicstaticvoidmain(String[]args){......
  • JavaSE核心(2)
    二:Java基础知识   一、标识符和关键字      1.标识符          1.在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;          2.标识符由字母、数字、下划线、美元符号组成,且第一......
  • Java 平台和 Java 虚拟机(JVM)
    Java平台是一个面向多个操作系统的开发和运行环境,提供了一套完整的软件开发工具和运行时环境。它包括Java编程语言、Java开发工具(如编译器、调试器等)和Java运行时环境(包括Java虚拟机和类库)。Java虚拟机(JavaVirtualMachine,JVM)是Java平台的核心组件之一,它是一个可执行的程序,负责......
  • 浅谈 Java 程序运行
    JVM是如何启动的?配置JVM装载环境解析虚拟机参数设置线程栈大小执行JavaMain方法内存是如何管理的?JVM内存模型程序运行视角下的Java内存管理此处所说的JVM内存模型是一种通用逻辑模型,与具体的虚拟机实现无关,虚拟机可以根据实际情况基于通用逻辑模型,给出不同的......
  • Java项目中的各种层
     1、Dao层(持久层、数据访问层)2、Controller层(控制层、action层)3、Service层(业务层、biz)4、Entity层(实体层、domain层)5、view层(负责前台jsp页面的表示)6、config层(负责ssm的整体配置,主要包含spring,springmvc,mybatis的配置文件)7、dto层(数据传输对象层) 工作流程:用......
  • Java多线程详解
          线程对象是可以产生线程的对象。比如在Java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。相比于多进程,多线程的优势有:   (1)进程之间不能共享数据,线......