`

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。。

 

 

 

分享到:
评论

相关推荐

    免费下载:自己整理的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初学者必看

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

    java web 视频、电子书、源码(李兴华老师出版)

    第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、...

    从Java走向Java+EE+.rar

    9.2.2 配置Struts-config.xml 111 9.2.3 多个配置文件的使用 120 9.3 Struts的各种组件 121 9.3.1 Struts的处理流程 122 9.3.2 ActionServlet 123 9.3.3 Action类 123 9.3.4 ActionForm 125 9.3.5 ...

    5.SpringBoot快速上手CRUD.zip

    Spring Boot更多的是采用Java Config的方式,对Spring进行配置。 Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,您可以直接“运行”启动服务,而不用再去配置Tomcat启动。包括静态资源处理,视图...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    第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、...

    李兴华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、...

    aesjava源码-.config:##自动生成的文件;请勿编辑。#OpenWrt配置#CONFIG_MODULES=yCONFIG_HAVE

    java源码行动OpenWrt 使用GitHub Actions构建OpenWrt 用法 单击按钮创建一个新的存储库。 使用源代码生成.config文件。 (您可以通过工作流文件中的环境变量来更改它。) 将.config文件推送到GitHub存储库中,构建会...

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

    第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、...

    JAVA网页设计学习教程

    第01课 BS和CS模式-BS and CS,第02课 HTTP协议-HTTP Protocol,第03课 CGI简介-CGI,第04课 Tomcat目录结构-Tomcat_Directory,第05课 Tomcat服务器基本配置-Tomcat_Basic_Config......

    java多线程tcpsocketserver源码-simple-rpc:基于netty的具有服务发现的RPC

    Config配置方式 服务发布订阅 DONE 断线重连 DONE RoadMap 服务心跳检测 连接池 断线重连 重写 服务注册发布功能 服务管理、监控 服务调用日志链路跟踪 集成swagger功能,提供文档、测试、客户端生成 背景简介 RPC...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    第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、服务器...

    Java/JavaEE 学习笔记

    三、struts-config.xml配置文件中主要的元素和属性.........286 四、RequestProccessor.....................287 五、Struts1的执行流程....................289 六、struts1的高级部分....................290 七、...

    java面试题

    答:标识是为了方便和简介映射文件,主键是为了让数据不会重复。 为什么每次请求都要创建一个Action对象? 答:Struts2每次请求的时候都会创建一个action实例,这样会保证线程的安全。Struts1只是在第一次请求的...

    java教育系统服务端.zip

    项目简介 学成在线服务端基于Spring Boot构建,采用Spring Cloud微服务框架 模块 技术栈 数据访问层 Spring Data JPA 、Mybatis、Spring Data Mongodb等 业务层 Spring IOC、Aop事务控制、Spring Task任务调度、...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    第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、服务器...

    LuckysheetServer:Luckysheet Java后端

    :laptop: 官方Java版本后端。 演示版 (注意:请不要经常操作以防止服务器崩溃) 部署 要求 jdk&gt; = 1.8 postgre&gt; = 10(支持jsonb版本) Redis&gt; = 3 Nginx的&gt; = 1.12 专家&gt; = 3.6 IntelliJ IDEA&gt; = 12(不必要) ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    第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、服务器...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    第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、服务器...

    基于Java+Struts的新闻管理系统源码

    Struts新闻管理系统学习版简介: Struts新闻管理系统学习版说明 1.本程序为学习struts的朋友提供一个例子。 2.本程序部分实现AJAX功能,采用DWR框架。 3.程序运行环境为MYECLIPSE 5.0 + TOMACT 5.5 + ORACLE 9i ...

Global site tag (gtag.js) - Google Analytics