`

javaConfig简介

 
阅读更多

 

spring的配置方式由最早的xml配置,到xml加注解的配置方式(java ee5.0引入一个非常重要的特性--annotation)。随着spring大量使用xml配置被诟病,spring4.0推出javaConfig的配置方式。也就是java代码+注解来替代原来的xml+注解的配置方式。我个人喜欢xml+注解的配置方式,更直观。

下面举几个例子来说明javaConfig的配置方式:

 

一. spring ioc中的bean

xml配置方式中的xml文件:

 <?xml version="1.0" encoding="UTF-8"?>   
    <beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://www.springframework.org/schema/beans   
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">   
//这里就是往容器中生成一个id为button的bean 当然也可以打开注解扫描使用@Service、@Component等注解来配置
        <bean id="button" class="javax.swing.JButton">   
            <constructor-arg value="Hello World" />   
        </bean>       
    </beans>  

 

javaConfig配置方式的java类

//这个注解表明这是配置类 相当于spring配置文件
@Configuration  
    public class MigratedConfiguration {  
//这个注解表示注册一个bean对象 注解name值即它的id 方法返回值就是bean对象  如果注解没有name值则方法名就是id
        @Bean  
        public JButton button() {  
            return new JButton("Hello World");  
        }  
    }  

 

 

二、多配置文件加载

xml方式

 

在spring配置文件中使用<import>节点加载另一个配置文件

 

 

javaConfig方式

//在配置类中使用@Import注释引入另一个配置类当然下面的CustomerConfig.class也得是配置类
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

 

 

 

三.扫描注解bean

xml方式

//开启annotation
<context:annotation-config/>
//扫描这个包下的annotation
<context:component-scan base-package="com.test"/>

 

javaConfig方式

//这里就包含了<context:annotation-config/>的功能
@ComponentScan(basePackages={"com.test"})
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

 

 

还有像是@PropertySource加载配置文件,@EnableAspectAutoProxy@Aspect使用aspect切面,@EnableScheduling@Scheduled使用计划任务等等注解

 

另外在Web环境中使用javaConfig需要在web.xml中加入如下代码

<context-param>  
    <param-name>contextClass</param-name>  
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>  
</context-param>  
<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>com.packtpub.learnvaadin.springintegration.SpringIntegrationConfiguration</param-value>  
</context-param> 

 

 

其实了解javaConfig主要是为了springboot。。

 

 

 

分享到:
评论

相关推荐

    jeeboot-admin

    在JeeBoot-Admin中,Spring负责管理对象的生命周期和组件之间的依赖关系,通过JavaConfig配置,开发者可以使用Java代码来定义bean及其配置,使得代码更具可读性和可维护性。 **SpringMVC:** SpringMVC是Spring...

    configYaml:基于YAML的Java配置管理器

    2. **映射到Java对象**:使用`YamlMapper`将加载的配置映射到对应的Java对象,如`YamlMapper.mapToObject(config, YourConfigClass.class)`。 3. **访问配置值**:通过Java对象的属性访问配置值,例如`...

    java MVC 模型简介

    【Java MVC 模型简介】 MVC(Model-View-Controller,模型—视图—控制器模式)是一种广泛应用于Web开发的软件设计模式,主要目的是为了分离应用程序的数据逻辑、用户界面和控制逻辑,以提高代码的可维护性和可扩展...

    JAVA 三大框架简介

    ### JAVA三大框架简介 在Java开发领域中,SSH(Struts、Spring、Hibernate)三大框架是构建企业级应用的重要组成部分,它们各自具有独特的功能与优势,并且能够协同工作以提高开发效率和软件质量。 #### 一、...

    免费下载:自己整理的java学习资料

    Eclipse入门-- Eclipse的使用简介及插件开发.PDF eclipse插件开发.doc Eclipse插件开发系列.pdf Hibernate_3.2.0_Reference_zh_CN.chm Hibernate_DEV_GUIDE.pdf javaAnnotation.doc java_xml_api.chm JAVA分页大全....

    Java Properties简介_动力节点Java学院整理

    Java Properties 类是Java编程语言中一个非常实用的类,它位于`java.util`包下,主要用于处理和操作`.properties`格式的配置文件。这类文件通常包含应用中的配置信息,如数据库连接字符串、用户名、密码等,这些信息...

    Java Spring Cloud Data Flow简介

    SCDF 广泛利用了 Spring Cloud 生态系统中的其他组件,如 **Spring Cloud Config** 用于配置管理,**Spring Cloud Bus** 用于服务间的通信,以及 **Spring Cloud Data Flow Server** 作为整个系统的控制中心。...

    Struts1_Java Web应用简介.ppt

    配置文件(struts-config.xml)定义了Action和ActionForm(模型层对象)的映射关系,以及请求路径和处理函数的对应。ActionForm用于收集和验证用户输入,ActionForward定义了请求转发路径。此外,Struts1还提供了...

    zookeeper实战:ConfigServer代码样例

    一、Zookeeper简介 Zookeeper是由Apache软件基金会开发的开源项目,它是一个为分布式应用提供一致性服务的软件,提供包括配置维护、名字服务、分布式同步、组服务等基础功能。Zookeeper基于一个简单的数据模型,即...

    Java Studio Creator 教程

    一、Java Server Faces(JSF)简介 JSF是一种用于构建用户界面的Java标准,它简化了Web应用开发,特别是处理表单提交和页面导航。JSF的核心概念包括组件、事件、渲染器和生命周期。通过使用JSF,开发者可以将UI组件...

    Java listener简介_动力节点Java学院整理

    Java Listener 简介 Java Listener 是一种特殊的类,用于监听 ServletContext、HttpSession、ServletRequest 等域对象的创建、销毁、以及属性的变化等。监听器可以在事件发生前、发生后进行一些处理,例如统计用户...

    java初学者必看

    17.6.8 config对象 17.7 计数器 17.8 本章习题 第18章 KTV管理系统 18.1 数据存储设计 18.2 管理界面 18.2.1 添加歌曲界面 18.2.2 歌曲查找界面 18.2.3 歌曲修改界面 18.2.4 删除歌曲 18.3 业务处理 ...

    nacos config.zip

    1. **Nacos简介** Nacos是“Naming And Configuration”的缩写,它提供了动态配置、服务发现和服务管理的能力。Nacos设计的目标是让分布式系统中的配置管理和服务发现变得更简单、更可靠。 2. **Spring Boot集成...

    JAAS简介及示例代码

    例如,通过 `-Djava.security.auth.login.config=/path/to/jaas.conf` 参数启动JVM。 以上就是JAAS的基本介绍和示例代码实现。通过JAAS,开发者可以方便地在Java应用中集成安全性,确保只有经过验证且拥有足够权限...

    SpringBoot框架知识点总结PDF

    1、SpringBoot简介及其优点 SpringBoot可以解决启动新的Spring项目过程中:1、...2、使用JavaConfig有助于避免使用XML; 3、避免大量的Maven导入和各种版本冲突; 4、提供意见发展方法: 5、通过提供默认值快速开始开发;

    MongoDB 在java中的应用 纯Java操作

    #### 一、MongoDB简介与安装步骤 MongoDB是一种非常流行的NoSQL数据库系统,尤其适用于需要处理非结构化或半结构化数据的应用场景。其灵活性和扩展性使得它成为众多开发者的首选。在Java环境中使用MongoDB可以极大...

    JAVA在线图书馆管理系统

    `Default.aspx`通常作为首页,展示图书馆的简介、新书推荐或者热门图书等内容。`Login.aspx`则用于用户进行身份验证,通过输入用户名和密码实现登录。尽管这些文件不是JAVA文件,但可以推断此系统采用了ASP.NET技术...

    李兴华Java Web开发实战经典(高清版) Part2

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、...

    AWS S3 Java 开发文档

    S3 Java SDK简介 AWS S3 Java SDK是亚马逊网络服务(AWS)提供的一个开源软件开发包,允许Java程序开发者轻松地与Amazon Simple Storage Service(S3)交互。S3是一个面向互联网的存储服务,主要用于存储和检索任意...

Global site tag (gtag.js) - Google Analytics