`

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 三大框架简介

    ### 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还提供了...

    nacos config.zip

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

    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 业务处理 ...

    JAAS简介及示例代码

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

    MongoDB 在java中的应用 纯Java操作

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

    JAVA在线图书馆管理系统

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

    AWS S3 Java 开发文档

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

    greendao之java项目

    **Greendao简介** Greendao是一个轻量级的Java ORM(对象关系映射)库,专门用于Android应用开发,它使得在Android上操作SQLite数据库变得更加简单和高效。ORM允许开发者使用Java对象来直接操作数据库,避免了繁琐...

    java 附件文件上传

    1. **Struts框架简介** Struts是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。它简化了Java Servlet和JSP的开发,提高了代码的可维护性和可扩展性。 2. **文件上传原理** 文件...

Global site tag (gtag.js) - Google Analytics