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中,Spring负责管理对象的生命周期和组件之间的依赖关系,通过JavaConfig配置,开发者可以使用Java代码来定义bean及其配置,使得代码更具可读性和可维护性。 **SpringMVC:** SpringMVC是Spring...
2. **映射到Java对象**:使用`YamlMapper`将加载的配置映射到对应的Java对象,如`YamlMapper.mapToObject(config, YourConfigClass.class)`。 3. **访问配置值**:通过Java对象的属性访问配置值,例如`...
### JAVA三大框架简介 在Java开发领域中,SSH(Struts、Spring、Hibernate)三大框架是构建企业级应用的重要组成部分,它们各自具有独特的功能与优势,并且能够协同工作以提高开发效率和软件质量。 #### 一、...
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.util`包下,主要用于处理和操作`.properties`格式的配置文件。这类文件通常包含应用中的配置信息,如数据库连接字符串、用户名、密码等,这些信息...
SCDF 广泛利用了 Spring Cloud 生态系统中的其他组件,如 **Spring Cloud Config** 用于配置管理,**Spring Cloud Bus** 用于服务间的通信,以及 **Spring Cloud Data Flow Server** 作为整个系统的控制中心。...
配置文件(struts-config.xml)定义了Action和ActionForm(模型层对象)的映射关系,以及请求路径和处理函数的对应。ActionForm用于收集和验证用户输入,ActionForward定义了请求转发路径。此外,Struts1还提供了...
一、Zookeeper简介 Zookeeper是由Apache软件基金会开发的开源项目,它是一个为分布式应用提供一致性服务的软件,提供包括配置维护、名字服务、分布式同步、组服务等基础功能。Zookeeper基于一个简单的数据模型,即...
一、Java Server Faces(JSF)简介 JSF是一种用于构建用户界面的Java标准,它简化了Web应用开发,特别是处理表单提交和页面导航。JSF的核心概念包括组件、事件、渲染器和生命周期。通过使用JSF,开发者可以将UI组件...
Java Listener 简介 Java Listener 是一种特殊的类,用于监听 ServletContext、HttpSession、ServletRequest 等域对象的创建、销毁、以及属性的变化等。监听器可以在事件发生前、发生后进行一些处理,例如统计用户...
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 业务处理 ...
1. **Nacos简介** Nacos是“Naming And Configuration”的缩写,它提供了动态配置、服务发现和服务管理的能力。Nacos设计的目标是让分布式系统中的配置管理和服务发现变得更简单、更可靠。 2. **Spring Boot集成...
例如,通过 `-Djava.security.auth.login.config=/path/to/jaas.conf` 参数启动JVM。 以上就是JAAS的基本介绍和示例代码实现。通过JAAS,开发者可以方便地在Java应用中集成安全性,确保只有经过验证且拥有足够权限...
#### 一、MongoDB简介与安装步骤 MongoDB是一种非常流行的NoSQL数据库系统,尤其适用于需要处理非结构化或半结构化数据的应用场景。其灵活性和扩展性使得它成为众多开发者的首选。在Java环境中使用MongoDB可以极大...
`Default.aspx`通常作为首页,展示图书馆的简介、新书推荐或者热门图书等内容。`Login.aspx`则用于用户进行身份验证,通过输入用户名和密码实现登录。尽管这些文件不是JAVA文件,但可以推断此系统采用了ASP.NET技术...
S3 Java SDK简介 AWS S3 Java SDK是亚马逊网络服务(AWS)提供的一个开源软件开发包,允许Java程序开发者轻松地与Amazon Simple Storage Service(S3)交互。S3是一个面向互联网的存储服务,主要用于存储和检索任意...
**Greendao简介** Greendao是一个轻量级的Java ORM(对象关系映射)库,专门用于Android应用开发,它使得在Android上操作SQLite数据库变得更加简单和高效。ORM允许开发者使用Java对象来直接操作数据库,避免了繁琐...
1. **Struts框架简介** Struts是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。它简化了Java Servlet和JSP的开发,提高了代码的可维护性和可扩展性。 2. **文件上传原理** 文件...