精华内容
下载资源
问答
  • JavaConfig

    2016-09-21 19:57:34
    Spring里面有一个特性,叫做JavaConfig,实际上是利用JavaConfig.java文件代替ApplicationContext.xml文件。 还记得之前在xml配置的bean吗? == == 但是现在在JavaConfig里面可以这么做 @Configuration ...

    一:基本项目

    Spring里面有一个特性,叫做JavaConfig,实际上是利用JavaConfig.java文件代替ApplicationContext.xml文件。

    还记得之前在xml配置的bean吗?

    ==

     <bean class="com.wang.Person"/>  

    ==

    但是现在在JavaConfig里面可以这么做

    @Configuration
    public class JavaConfig {
    	@Bean
    	public Person button() {
    		Person p=new Person();
    		p.setName("张三");
    		return p;
    	}
    }
    class Person{
    	String name;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    }


    运行测试很简单。

    public class Main {
    	public static void main(String[] args) {
    		ApplicationContext context = new AnnotationConfigApplicationContext(
    				JavaConfig.class);
    		Person person = context.getBean(Person.class);
    		System.out.println(person.getName());
    	}
    }

    上面的代码就是一个简单的Javaconfig就是这么简单。


    二:web


    如果是在web项目中。也不需要ApplicationContext.xml 只需要上面的Javaconfig.java然后在web.xml配置


    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    	version="3.1">
    	<display-name>cc</display-name>
    	<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.wang.JavaConfig</param-value>
    	</context-param>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    </web-app>


    三:

    不仅如此datasource,config等配置都可以用Javaconfig去完成。




    展开全文
  • javaConfig

    千次阅读 2017-07-24 15:13:19
    引言:Spring 从4.x版本开始提倡java配置和注解结合使用,慢慢离开xml繁琐的配置,所以要入门SpringBoot,需要从java配置开始 ...1.可以尝试使用Spring javaconfig的方式来获得配置并且获得bean,pom文件不变。

    引言Spring 4.x版本开始提倡java配置和注解结合使用,慢慢离开xml繁琐的配置,所以要入门SpringBoot,需要从java配置开始

    1.首先导入POM

     

    2.建立一个配置文件(xml),然后申请一个容器,获得bean

     

    这是一个极其精简的XML配置文件了

     

    1.可以尝试使用Spring javaconfig的方式来获得配置并且获得beanpom文件不变。

     

    2.下图是javaconfig类截图

        

    @Configuration:标明当前类是一个配置类

    @ComponentScan(basePackages={"com.turing.Component"}) :扫描的包,相当于xml配置的

    <context component-scanner/>

    @Bean:表明返回一个bean,该beanSpring管理

     

    1.为什么要使用javaconfig,这是因为SpringBoot提倡’零配置’,习惯由于配置,SpringBoot其实很多自动配置时基于javaconfig中的@Conditional条件注解,后面会陆续提出来)

    2.SpringBoot真正使用起来只需要少量的配置,key-value的形式配置在application.properties里面,其余的最精简的写法就是利用javaconfig和注解)

     

     

    --------------------------------------------------分割线------------------------------------------------------------------

    下面介绍几个javaconfig的注解,来完成AOP功能,定时功能,条件Bean功能,配置MVC

     

    1.AOP(需要加入Aspectjpom依赖)

     





     

     

     

    1.首先,需要在配置类加入注解,然后申请一个Aspectj切面,定义切点

    @EnableAspectJAutoProxy(开启对Aspectj代理的支持)

    @Aspect(申明Aspectj切面),并且需要在切面类加入Spring的管理@Component

     

    2.计划任务

    Quterz是一个定时调度任务框架,Spring对其支持很好,当然Spring也自己内置了一个注解,可以方便的开启计划任务,首先需要利用注解@Scheduled在需要计划任务的方法,然后设置属性,这样当Spring被初始化的时候就会开始调用这个方法,当然还需要在配置类加入@EnableScheduling

     

    @EnableScheduling(使当前应用支持计划调度任务)

    @Scheduled(在方法上使用,搭配属性,让Spring定时执行)

    其中@Scheduled注解后面括号里面可以指定各种参数,在上面代码里面的fixedRate = 6000意思是下面的任务每隔6000毫秒,即每隔6秒执行一次。 

    下面简单提一下cron表达式,举个例子:

    @Scheduled(cron = "0 0 3 * * ?")  //每天凌晨3:00执行任务

    cron表达式中各时间元素使用空格进行分割,分别表示如下含义:
    按顺序依次为
    秒(0~59
    分钟(0~59
    小时(0~23
    天(月)(0~31,但是你需要考虑你月的天数)
    月(0~11
    天(星期)(1~7 1=SUN SUNMONTUEWEDTHUFRISAT
    7.年份(19702099

    具体参考资料:http://blog.csdn.net/snakemoving/article/details/75662398

     

     

    3.条件Bean

    条件BeanSpringBoot完成自动配置的重要组成部分,模拟一个场景,如果一个随机数小于6我们就生产一个Task的实例

     






     


     

     

     

    首先我们要实现Condition接口,然后实现里面的匹配规则,返回boolean类型,让Spring知道是否应该生成实例

    ------------------------------------------WEB------------------------------------------------------------------------

    在入门SpringBoot之前,默认大家是已经掌握了SpringMVC Mybatis2个框架,但是SpringMVCjavaconfig配置方式需要提一提

     

    @EnableWebMvc (开启webmvc功能)

     

    开启资源映射和拦截器处理

    Servlet3.0开始,web项目可以渐渐远离web.xml的配置文件,可以利用注解去替代

     

    这是Spring动态加入dispatchServlet的实现,首先需要实现WebApplicationInitializer,然后申请一个Spring容器,并且注册配置类,将Servlet上下文加入到容器中,并且利用Servlet3.0动态加入Servlet,将容器注入到分发器中,最后web项目完成初始化

     

    PS:入门javaConfigSpringBoot的学习有增效作用

    展开全文
  • 什么是JavaConfig

    万次阅读 多人点赞 2018-09-11 22:18:39
    java config是指基于java配置的spring。传统的Spring一般都是基本xml配置的,后来spring3.0新增了许多java config的注解,特别是spring boot,基本都是清一色的java config。 @Configuration  在类上打上这一标签...

    java config是指基于java配置的spring。传统的Spring一般都是基本xml配置的,后来spring3.0新增了许多java config的注解,特别是spring boot,基本都是清一色的java config。

    @Configuration

        在类上打上这一标签,表示这个类是配置类

    @ComponentScan

       相当于xml的<context:componentscan basepakage=>

    @Bean

         bean的定义,相当于xml的

         <bean id="objectMapper" class="org.codehaus.jackson.map.ObjectMapper" /> 

    @EnableWebMvc

        相当于xml的<mvc:annotation-driven>

    @ImportResource

       相当于xml的 <import resource="applicationContext-cache.xml">

    @PropertySource

    spring 3.1开始引入,它是基于java config的注解,用于读取properties文件

     @Profile

    spring3.1开始引入,一般用于多环境配置,激活时可用@ActiveProfiles注解,@ActiveProfiles("dev")

    等同于xml配置

    <beans profile="dev">
        <bean id="beanname" class="com.pz.demo.ProductRPC"/>
    </beans>
    
    激活该profile spring.profiles.active,也可设置默认值 spring.profiles.default
    <context-param>
        <param-name>spring.profiles.default</param-name>
        <param-value>dev</param-value>
    </context-param>

     

    Spring IOC有一个非常核心的概念——Bean。由Spring容器来负责对Bean的实例化,装配和管理。XML是用来描述Bean最为流行的配置方式。Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码。Spring改变了java的编程模式,Spring的下载已经超过了1亿次,可见Spring已经有多流行。

    随着Spring的日益发展,越来越多的人对Spring提出了批评。“Spring项目大量的烂用XML”就是最为严励的一个批评。由于Spring会把几乎所有的业务类都以Bean的形式配置在XML文件中,造成了大量的XML文件。使用XML来配置Bean失去了编译时的类型安全检查。大量的XML配置使得整个项目变得更加复杂。Rod Johnson也注意到了这个非常严重的问题。

    当随着JAVA EE 5.0的发布,其中引入了一个非常重要的特性——Annotations(注释)。注释是源代码的标签,这些标签可以在源代码层进行处理或通过编译器把它熔入到class文件中。在JAVA EE 5以后的版本中,注释成为了一个主要的配置选项。Spring使用注释来描述Bean的配置与采用XML相比,因类注释是在一个类源代码中,可以获得类型安全检查的好处。可以良好的支持重构。

    JavaConfig就是使用注释来描述Bean配置的组件。JavaConfig 是Spring的一个子项目, 比起Spring,它还是一个非常年青的项目。目前的版本是1.0 M2。使用XML来配置Bean所能实现的功能,通过JavaConfig同样可以很好的实现。

     

    考虑使用JavaConfig替代XML配置

    对于总是固执地使用Spring的XML配置方式,同事们总是讥讽我。是的,这看起来太二太过时了,不过XML还是有它的优势:

    1.集中式配置。这样做不会将不同组件分散的到处都是。你可以在一个地方看到所有Bean的概况和他们的装配关系。

    2.如果你需要分割配置文件,没问题,Spring可以做到。它可以在运行时通过<import>标签或者上Context文件对分割的文件进行重新聚合。

    3.相对于自动装配(autowiring),只有XML配置允许显示装配(explicit wiring)

    4.最后一点并不代表不重要,XML配置完全和JAVA文件解耦:两种文件完全没有耦合关系,这样的话,类可以被用作多个不同XML配置文件。

    XML唯一的问题是,只有在运行时环境时你才能发现各种配置及语法错误,但是如果使用Spring IDE Plugin(或者STS)的话,它会在编码时提示这些问题。

    在XML配置和直接注解式配置之外还有一种有趣的选择方式-JavaConfig,它是在Spring 3.0开始从一个独立的项目并入到Spring中的。它结合了XML的解耦和JAVA编译时检查的优点。JavaConfig可以看成一个XML文件,只不过是使用Java编写的。相关文档在官方网站是可以找到的,这篇文章只是带你了解JavaConfig。下面的例子,让我们将从XMl文件移植到JavaConfig。

    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">   
    
            <bean id="button" class="javax.swing.JButton">   
                <constructor-arg value="Hello World" />   
            </bean>   
    
            <bean id="anotherButton" class="javax.swing.JButton">   
                <property name="icon" ref="icon" />   
            </bean>   
    
            <bean id="icon" class="javax.swing.ImageIcon">   
                <constructor-arg>   
                    <bean class="java.net.URL">   
                      <constructor-arg value="http://morevaadin.com/assets/images/learning_vaadin_cover.png" />   
                    </bean>   
                </constructor-arg>   
            </bean>   
        </beans>  
        import java.net.MalformedURLException;  
        import java.net.URL;  
        import javax.swing.Icon;  
        import javax.swing.ImageIcon;  
        import javax.swing.JButton;  
        import org.springframework.context.annotation.Bean;  
        import org.springframework.context.annotation.Configuration;  
    
        @Configuration  
        public class MigratedConfiguration {  
            @Bean  
            public JButton button() {  
                return new JButton("Hello World");  
            }  
    
            @Bean  
            public JButton anotherButton(Icon icon) {  
                return new JButton(icon);  
            }  
    
            @Bean  
            public Icon icon() throws MalformedURLException {  
                URL url = new URL(  
                        "http://morevaadin.com/assets/images/learning_vaadin_cover.png");  
                return new ImageIcon(url);  
            }  
        }  

    用法非常简单:

    1.用@Configuration注解JavaConfig类,

    2.用每个方法来表示Bean并使用@Bean注解方法。

    3.每个方法名代表XML配置文件中的name

    注意在Web环境中,需要在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简介

    2018-08-03 14:26:42
    随着spring大量使用xml配置被诟病,spring4.0推出javaConfig的配置方式。也就是java代码+注解来替代原来的xml+注解的配置方式。我个人喜欢xml+注解的配置方式,更直观。 下面举几个例子来说明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。。

     

     

     

    展开全文
  • Spring之JavaConfig

    2019-09-23 14:22:56
    Spring JavaConfig实例 从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到Java类中。但是,仍然允许使用经典的XML方式来定义bean和配置,JavaConfig是另一种...
  • 什么是JavaConfig

    千次阅读 2019-10-08 15:07:40
    Spring JavaConfig是Spring社区的产品,他提供了配置Spring IOC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaCofig的优点在于: 1.面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以...
  • 今天我们来继续学习使用mybatis-spring来基于spring容器环境的JavaConfig方式配置mybatis。 JavaConfig 从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到...
  • Mybatis代码生成javaConfig配置

    千次阅读 2020-03-06 18:16:40
    Mybatis代码生成javaConfig配置 ** 关于mybatis的代码生成已经有多不胜数的文章和例子,本文主要介绍通过javaConfig的方式替代xml的方式配置,从而以接口的形式完成参数化的代码生成。 一、环境 Idea, JDK8, ...
  • 什么是JavaConfig JavaConfig是指基于java配置的spring,也就是java代码+注解来替代原来的xml+注解的配置方式。 spring的配置方式由最早的xml配置,到xml加注解的配置方式(java ee5.0引入一个非常重要的特性--...
  • javaConfig方式配置spring security

    千次阅读 2018-01-10 16:35:24
    javaConfig方式配置spring security 本文介绍javaConfig方式配置spring security,通过阅读可以了解无需xml配置且较容易地配置使用spring security。 从spring framework3.1开始并支持javaConfig方式,spring ...
  • spring使用JavaConfig进行配置

    千次阅读 2018-07-24 17:01:42
    JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 Java 自己...
  • JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。 测试: 1、编写一个实体类,Dog @Component//将这个类...
  • Spring中JavaConfig特性

    千次阅读 2015-07-07 14:18:48
    从Spring3开始,加入了JavaConfig特性,JavaConfig特性允许开发者不必在Spring的xml配置文件中定义bean,可以在Java Class中通过注释配置bean,如果你讨厌XML,那么这种特性肯定是让你感到愉悦的。 当然,你仍然可以...
  • spring实战-JavaConfig装配bean

    千次阅读 2017-08-08 22:26:47
    Spring还提供了基于Java配置(JavaConfig)来装配bean,在编程时推荐使用类型安全,且比XML更加强大的JavaConfig。 TestMain4 * 1,@ComponentScan 等价于<context:component-scan> * 2,@ComponentScan不带参数...
  • spring的JavaConfig是spring3开始,它允许同时使用xml和@bean注解配置bean。其实我认为就是对xml手动配置的一种拓展。 其中涉及到的主要注解就是@configuration、@bean、@import等。 @Configuration注解到类上告诉...
  • 使用JavaConfig形式配置Spring框架,了解一下 本文将介绍Spring 3.0后一种新的配置方式:JavaConfig,使用这种配置方式,既可以作为xml配置的补充,使xml配置精简化,也可以完全替代xml配置,实现无xml配置项目。 ...
  • SpringBoot使用JavaConfig配置ActiveMQ

    千次阅读 2017-11-22 15:39:24
    SpringBoot读取磁盘或SpringConfig中ActiveMQ的配置信息,使用JavaConfig的方式进行配置,便于多服务共享配置信息,节省开发和维护成本。
  • springboot主张用java config代替xml配置,但在大部分博文中依然用的是xml配置讲解,很少讲解javaConfig的内容,我这里记录下自己用java config配置mybatis。pom.xml就不多说了,日常引入mybatis-spring-boot-...
  • 理解Spring-javaconfig

    千次阅读 2017-03-15 16:29:39
    JavaConfig原理 servlet3.0标准提供了ServletContainerInitializer接口和HandlesTypes注解,在Web容器启动时完成一些初始化操作,功能同ServletContextListener。 Spring中的实现类:...
  • 创建logback javaconfig myapp.BasicConfigurator public class BasicConfigurator extends ch.qos.logback.core.spi.ContextAwareBase implements ch.qos.logback.classic.spi.Configurator { public ...
  • 原来xml配置 ...要使用JavaConfig实现配置,就得编写JavaConfig配置类 @Autowired:先通过byType方式,如果存在多个,就通过byName方式,也可以通过@Qualifier(value="beanId")来指定注入..
  • Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯 Java 方法。因此 它有助于避免使用 XML 配置。使用 JavaConfig 的优点在于: 面向对象的配置。由于配置被定义为 JavaConfig 中的类,...
  • JavaConfig配置中, 我们已经展现了如何使用@Import和@ImportResource来拆分JavaConfig类。 在XML中, 我们可以使用import元素来拆分XML配置。 比如,假设希望将BlankDisc bean拆分到自己的配置文件中,该文件名为...
  • 重要:采用JavaConfig作为SpringMVC的启动配置,必须要有一个类继承AbstractAnnotationConfigDispatcherServletInitializer,且这个类处于项目中任意位置均可package spittr.config;import org.springframework.web....
  • Spring 3 JavaConfig example

    2015-08-21 14:04:50
    Since Spring 3, JavaConfig features are included in core Spring module, it allow developer to move bean definition and Spring configuration out of XML file into Java class. But, you are still allow ...
  • JavaConfig配置文件为Spring创建bean

    千次阅读 2017-06-22 15:05:41
    Spring容器创建Bean的三种方法:JavaConfig,XML配置,自动装配 JavaConfig是独立于Spring的一个项目,在Spring3.0后出现。大部分企业中还是最常见的为自动装配及XML配置,其实JavaConfig也可被视为一个XML文件,...
  • spring-javaconfig

    2013-11-18 12:00:46
    http://docs.spring.io/spring-javaconfig/docs/1.0-m2a/reference/html/bean-visibility.html http://docs.spring.io/spring/docs/3.2.4.RELEASE/spring-framework-reference/html/
  • 关于Spring的显示配置方式有两种,一种是基于XML配置,一种是基于JavaConfig的方式配置。对于这两种配置方式并不是互斥关系,相反,他们两能够相互融合,有效的搭配完成Spring的bean注入。 这里分别介绍如何在Java...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,815
精华内容 17,126
热门标签
关键字:

javaconfig

java 订阅