java注解配置项目(java注解上加注解)

本文目录一览:

Java注解的出现 Java的注解是从何开始的

我不知道知道谁发明了注解,但是可以告诉你,java不同版本间的功能定义是不同的。这个功能的定义不是个人决定的,而是一个叫做JCP的组织,

这个组织云集了众多的资深专家,包括顶级开发团队中的精英。从java5开始出现了注解这个概念。定义注解的标准是JSR-250。注解从一定程度上分担了xml配置的一些任务(配套的标准如:JPA)。甚至可以在项目中用纯注解来配置。几乎所有的主流框架(除了struts1)都有自己的一套注解。追溯注解的源头,我个人认为,注解的前身就是我们看到的注释文档。标准的注释文档中有包括@author等的标注。在注解之前我们可以用Xdoclet来进行项目的配置。可惜这一方法几乎没有得到应用。但是注解的出现改变了这一现状。注解易于定义,包括本身就是java,提供了很好的编译器支持。我们可以用注解配置对象。这个是xml文件无法做到的。因为注解的易配置性和强灵活性,还有对代码的执行并不产生影响。注解得到了广泛的应用。现在,新的项目开发都开始倾向于注解这种新的开发方式,在开发的效率和纠错性上面。他已经远远优于xml配置。加上主流框架的支持及其它的易于实现性。相信他会走的更好。

Java中使用注解和使用配置文件各有什么优缺点

什么时候用xml:配置文件

1.外部jar包依赖bean配置

2.用注解无法实现,或者用注解无法轻易实现的情形

3.项目组内部达成一致的约定的地方

4.特殊的配置(如:定义一个map)

优:容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过xml配置会方便后人理解整个系统的架构

缺:比较繁琐,类型不安全,配置形态丑陋,配置文件过多的时候难以管理

========================================

什么时候用注解

除了上面4点,其他情况都可以用

优:方便,简洁,配置信息和 Java 代码放在一起,有助于增强程序的内聚性。

缺:分散到各个class文件中,所以不宜维护

什么是基于java的spring注解配置

基于Java的配置,允许你在少量的Java注解的帮助下,进行你的大部分

Spring配置而非通过XML文件。以@Configuration 注解为例,它用来标记类可以当做一个

bean的定义,被Spring IOC容器使用。另一个例子是@Bean

注解,它表示此方法将要返回一个对象,作为一个bean注册进Spring应用上下文。

怎么动态给java注解参数赋值?

动态赋值指的是在配置文件配置好然后在项目中动态读取?如果是这样的话:

1.在xml文件中使用context:property-placeholder location=””/

这种方式可以读取location指定位置对应的文件,引用的话使用${key}可以获取对应的数据

和这种写法相同的还有

bean class=“com.spring….config.PropertyPlaceholderConfigurer”

property name=“locations”

arrayvalue/value/array

/property

bean

这种是用bean来加载配置文件,看起来更直观

2.通过@Value注解读取配置

这种方法也需要预先在xml文件中设定好配置文件的位置

bean id=“prop” class=“org.springframework.beans.factory.config.PropertiesFactoryBean”

property name=“locations”

array

valueclasspath:.properties/value

/array

/property

/bean

之后在java代码里面可以用#{prop.key}来获取对应的数据prop是bean的名字,key是配置文件的键。

3.使用@PropertySource

在springboot中,可以不需要xml文件来设置配置文件,在需要使用配置文件的类名字前加上

@PropertySource(“locations”)就可以读取指定位置的配置,在代码中使用@Value注解可以获取这些数据

@Value(value = “${key}”)

4.使用@ConfigurationProperties(prefix=“”)

SpringBoot项目有时候会使用application.yml来存储配置信息,一般情况下这些数据的存储格式是

a:

key1:value1

key2:value2

这种嵌套方式,当然可以多层嵌套

在需要使用配置文件的类上面使用@ConfigurationProperties(prefix=“a”)可以获取a标签下一层所有的配置的键值对。

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/129946.html

(0)
简单一点的头像简单一点
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • Python help()

    要获取关于指定变量、函数、类、模块等的信息,我们可以使用help()方法。总的来说,我们可以说这个函数有助于系统,因此 python 解释器控制台可以使用它。 **help(obj…

  • 浮点数范围的详解

    一、float范围数 在计算机中,float类型数据是由3部分组成的:符号位、指数位和尾数位。其中尾数位占用23位,指数位占用8位,符号位占用1位,因此float类型的数据的范围为…

    编程 2024-10-04
  • RTL代码:从多方面探讨

    一、RTL代码风格 module adder (input [15:0]a, b, output [15:0]sum); assign sum = a + b; endmodule…

    编程 2024-10-12
  • PHP中的对象定义

    在PHP中,定义对象是面向对象编程(OOP)的重要组成部分。对象是一种复合数据类型,能够封装数据和函数,并且能够与其他对象进行交互。下面从多个方面对PHP中的对象定义进行详细阐述。…

    编程 2024-10-04
  • Python Pass 用法

    一、引言 在编写Python代码时,经常会遇到需要占位的情况,这时就可以使用pass语句。本文将详细介绍Python pass用法。 二、pass语句是什么? 在Python中,p…

    编程 2024-10-04
  • 利用layer-list创建炫酷按钮效果

    一、什么是layer-list 在Android中,图片资源是通过Drawable类型来表示的。在Drawable API中有很多不同的Drawable类型,如BitmapDraw…

    编程 2024-10-03
  • Python读取Doc文件的多方面分析

    一、Python读取doc文件内容 Python可以使用多种库来读取doc文件,其中最为常用的库包括win32com库和python-docx库。Win32com库是Python自…

    编程 2024-10-04
  • 轻松掌握Telnet指令远程登录和管理Linux服务器

    一、Telnet简介 Telnet是一种用于远程登录Linux服务器的网络协议,它允许用户终端(或PC),通过TCP/IP协议连接到远程主机上并在远程主机上执行命令。Telnet客…

    编程 2024-10-04
  • Host头攻击

    一、什么是Host头攻击 Host头攻击(Host Header Injection)是指攻击者通过伪造HTTP请求的Host头字段,将请求路由到不受信任的服务器,以达到盗取或篡改…

    编程 2024-10-04
  • java餐厅点餐系统页面(java点餐系统源码)

    本文目录一览: 1、用java swing 做一个点菜系统,如何将菜单做成按钮的形式,并将图片显示在按钮上? 2、关于用java做点餐系统的设计问题 3、初学者,我有一个简单的ja…

    编程 2024-10-03

发表回复

登录后才能评论