本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
paulwong - fantaxy025025
- johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- gengyun12
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- zxq_2017
- nychen2000
- lzyfn123
- forestqqqq
- wjianwei666
- 龙儿筝
- ajinn
- siemens800
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
编程语言专栏最新文章
JAXB(六)——动态指定XML元素名称
JAXB动态指定生成的XML元素名称
通常我们在使用JAXB生成XML时,都是通过@XmlRootElement或@XmlElement事先指定对应的类型的对象在生成XML时生成的元素的名称。比如下面这样。
@XmlRootElement(name="person")
@XmlType(propOrder = { "id", "name& ...
JAXB(四)——以子类的结构生成XML
JAXB生成XML时指定以子类的结构生成XML
假设现在有这样一项任务,要求你写两个关于获取User和Dept的接口出来,它们对外提供的数据是XML格式,分别对应如下格式。
<response>
<errorCode>0</errorCode>
<errorMessage>成功</errorMessage>
...
JAXB(五)——处理动态元素或属性
处理动态元素或属性
动态元素
假设现在有一项解析XML的需求,该XML的大体结构是固定的,如下这样:
<response>
<errorCode></errorCode>
<errorMessage></errorMessage>
<data>
</ ...
JAXB(三)——JAXBContext及其优化
JAXBContext介绍及性能优化
摘要 本文主要介绍基于package创建JAXBContext,以及阐述JAXBContext存在的性能问题及其优化。
JAXBContext介绍
JAXBContext是我们在使用JAXB时的入口类,我们需要通过它的实例来建立XML和Java类之间的映射关系,需要通过它来创建用于转换Java对象到XML的Marshaller或是创建用于转换XML到J ...
JAXB(二)——核心注解介绍
JAXB核心注解介绍
摘要 本文主要通过理论加实践的方式介绍JAXB非常具有代表性的注解。
XmlRootElement
XmlRootElement用于标注在根节点对应的Java类上。比如上一篇介绍的Person类对应的根节点,我们就在Person类上加上了@XmlRootElement。
@XmlRootElement
public class Person {
//... ...
Spring(27)——util命名空间
Spring之util命名空间
util命名空间可以帮助我们快速的定义list、map、set等。如果要使用它,我们首先需要在XML配置文件中引入其对应的namespace。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springfra ...
Spring(26)——PathMatchingResourcePatternResolver
PathMatchingResourcePatternResolver可以用来解析资源文件,主要是用来解析类路径下的资源文件。当然它也可以用来解析其它资源文件,如基于文件系统的本地资源文件。PathMatchingResourcePatternResolver在使用时可以直接new一个对象,new的时候可以通过使用带ResourceLoader参数的构造方法指定需要使用的ResourceLoad ...
Spring(25)——ClassPathBeanDefinitionScanner
ClassPathBeanDefinitionScanner继承自ClassPathScanningCandidateComponentProvider,构造时要求指定一个BeanDefinitionRegistry对象,其扩展了一个scan方法,可以同时指定多个要扫描的包。底层在扫描bean定义时还是使用的父类的findCandidateComponents方法,但是扫描后会自动利用持有的Bea ...
Spring(24)——自定义BeanDefinitionRegistryPostProcessor
24 自定义BeanDefinitionRegistryPostProcessor
BeanDefinitionRegistryPostProcessor继承自BeanFactoryPostProcessor,是一种比较特殊的BeanFactoryPostProcessor。BeanDefinitionRegistryPostProcessor中定义的postProcessBeanDefinit ...
Spring(23)——SPEL表达式(四)
23.2.24 设置默认值
SpEl表达式中支持“a?:b”这样的语法来设置默认值。其表示如果a不为null时其结果为a,否则就为b。
@Test
public void test24 () {
ExpressionParser parser = new SpelExpressionParser();
Assert.assertTrue(parser.parseExpressio ...
Spring(23)——SPEL表达式(三)
23.2.16 new对象
SpEl支持我们直接在表达式中使用Java中new对象的语法来new一个对象,在new对象的时候需要我们指定对应类的包名,java.lang包除外。如下示例中我们就在表达式中new了一个java.util.Date对象,然后调用了其toLocaleString()方法。
@Test
public void test16() {
Expression ...
Spring(23)——SPEL表达式(二)
23.2.9 构造List
在SpEl中可以使用“{e1,e2,e3}”的形式来构造一个List,如下示例中我们就构造了一个List。
@Test
public void test09() {
ExpressionParser parser = new SpelExpressionParser();
List<Integer> intList = (List<I ...
Spring(23)——SPEL表达式(一)
23 SpEl
23.1 简介
Spring也有自己的EL,叫Spring Expression Language,简称SpEl。其可以在程序中单独使用,也可以在Spring应用中进行bean定义时使用。其核心是org.springframework.expression.Expression接口,Spring使用该接口来表示EL中的表达式。通过Expression接口的系列getValue ...
Spring(22)——ApplicationEvent
22 ApplicationEvent
Spring允许我们在ApplicationContext中发布ApplicationEvent事件,然后对应的ApplicationListener可以用来监听对应的事件。当发布了一个ApplicationEvent后,在对应bean容器中实现了ApplicationListener接口的bean实例都会接收到对应的通知,即对应的ApplicationL ...
Spring(21)——国际化MessageSource
21 国际化MessageSource
Spring中定义了一个MessageSource接口,以用于支持信息的国际化和包含参数的信息的替换。MessageSource接口的定义如下,对应的方法说明已经在方法上注释了。
public interface MessageSource {
/**
* 解析code对应的信息进行返回,如果对应的code不能被解析则返回默认信息def ...
Spring(20)——@PropertySource
20 @PropertySource
在之前介绍<context:property-placeholder/>时提到过其默认会使用PropertySourcesPlaceholderConfigurer来进行对应的属性替换,其底层有使用PropertySource。@PropertySource是用来注册一个PropertySource的。PropertySource是用来表示一个n ...
Spring(19)——Profile(二)
19.2 指定启用的profile
前面已经介绍了profile的指定,我们知道指定了profile后则表示对应的内容只有在特定的profile下才会生效。当前应用究竟使用的是哪个profile,或者是哪些profile,这是需要我们来指定的。说的专业一点就叫激活,即只有处于激活状态的profile对应的定义才会生效,当然也包括那些没有指定profile的定义。
在Spring中激活哪个pro ...
Spring(19)——Profile(一)
19 Profile
有的时候我们可能需要在不同的环境下使用不同的bean定义,如在开发环境直接使用直接定义的数据源,而在生产环境使用对应的JNDI数据源等。针对这种需求,Spring给我们引入了一个profile的概念,其允许我们将在特定环境下需要使用的bean定义为不同的profile,然后只有在对应的profile激活的情况下才使用对应的bean定义。打个比方我们有一个beanA需要在开发 ...
Spring(18)——使用Java类的形式定义bean(三)
18.4 组合多个配置
通常在使用基于Java类的配置时我们可能不是单独使用一个Java类进行配置,有的时候可能会建立多个Java类进行配置,也可能是基于Java类的配置和基于XML的配置一起使用,这就需要我们将多个配置整合在一起了。
18.4.1 多个Java类配置组合
对于多个Java配置类的情况,我们可以通过将@Import标注在对应的配置类上以引入另外一个配置类,这样我们在使用的时 ...
编程语言热门文章
博客专栏评论
skran 写道大兄弟文章写的不错,排版有点问题,代码长了既没换行也没滚动条现在都是Markdown写 ...
234390216 评论了 Spring Boot(05)——SpringApplication ...
234390216 评论了 Spring Boot(05)——SpringApplication ...
iteye这个博客主体内容定义的宽度只有700,导致部分代码没有展示出来。iteye现在都没有人维护了 ...
234390216 评论了 Spring(25)——ClassPathBeanDefinitionS ...
234390216 评论了 Spring(25)——ClassPathBeanDefinitionS ...