- 浏览: 164767 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (116)
- 随笔 (2)
- spring (24)
- struts (1)
- hibernate (6)
- log4j (0)
- mysql (14)
- oracle (0)
- ext (0)
- jQuery (0)
- HTML+CSS (2)
- Javascript (1)
- 其它杂碎 (0)
- IT (3)
- J2EE综合 (15)
- SQLServer (1)
- 好文章URL 待阅读 (3)
- 编辑器 (2)
- 版本控制 (5)
- Tomcat (4)
- DoJo (0)
- Ubuntu (11)
- Hadoop (3)
- cxf (3)
- maven (6)
- CI (5)
- H2 (1)
- JVM (1)
- FirefoxOS (1)
- Jboss (1)
- 操作系统 (1)
- C3P0 (2)
- Quartz (1)
- maps (10)
- 设计模式 (5)
最新评论
-
yogurt2012:
请问··我如果要调试H2数据库来分析其JOIN算法应该怎么做呢 ...
H2笔记 -
carlosfu:
很好很全,很有收获
Spring3笔记之 JDBC -
ponlya:
coldrush 写道看了你的配置 ,刚绝 file:后加绝对 ...
添加使用dtd文件 -
ponlya:
byp19980911 写道这不是很好的解决办法,最好是使用连 ...
java.net.SocketException:Software caused connection abort: socket write error -
ponlya:
ayanami001 写道为什么spring没有封装分页吗,那 ...
Spring3笔记之 JDBC(分页)
小记下,spring注解相关:
com.spring305.test.annotations.env.Env1.java
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; @Component //@Configuration public class Env1 { private int id; @Value("test name value in env1 class") private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
com.spring305.test.annotations.env.Env2.java
import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Required; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.stereotype.Component; //@Component @Configuration //@Import({com.spring305.test.annotations.env.Env1.class}) public class Env2 { /** 一、@Autowire默认按照类型进行注入按类型装配依赖对象 ,若允许null值,可以设置它的required属性为false。 如果想使用按名称装配,可以结合@Qualifier注解一起使用 @Autowired @Qualifier("XXX")这样就是按照名称进行装配 @Autowired(required=true)必须注入值,不能为null 二、@Resource 和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认是按名称装配。 名称可以通过@Resource的name属性指定, 如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找对象, 当注解标注在属性的setter方法上,即默认取属性名作 为bean名称寻找依赖对象。当没有使用name属性时,如果按照字段名找不到bean, 就会转而使用按类型装配的方式进行查找;但当使用了name属 性,只能按照指定的name查找bean,当找不到相应的bean时,就会抛异常。 @Resource(name="xmlBeanx") 二者亦有区别: @Autowired applies to fields, constructors, and multi-argument methods, allowing for narrowing through qualifier annotations at the parameter level. By contrast, @Resource is supported only for fields and bean property setter methods with a single argument */ //@Autowired(required=true) private Env1 env1; @Resource(name="env1") private Env1 env11; public Env1 getEnv1() { return env1; } @Autowired public void setEnv1(@Qualifier("env1") Env1 env1) { this.env1 = env1; } public Env1 getEnv11() { return env11; } public void setEnv11(Env1 env11) { this.env11 = env11; } @PostConstruct public void populateMovieCache() { System.out.println(Env2.class+"_"+"@populateMovieCache"); // populates the movie cache upon initialization... } @PreDestroy public void clearMovieCache() { System.out.println(Env2.class+"_"+"@clearMovieCache"); // clears the movie cache upon destruction... } }
测试:
com.spring305.test.annotations.AnnotationTest2.java
@Test public void testEnv(){ AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Env2.class,Env1.class); Env2 bean = ctx.getBean("env2",Env2.class); Env1 env1 = ctx.getBean("env1",Env1.class); //Env1 env2 = ctx.getBean("com.spring305.test.annotations.env.Env1",Env1.class); System.out.println(bean.getEnv1().getName()); System.out.println(bean.getEnv11().getName()); System.out.println(env1.getName()); //System.out.println(env2.getName()); }
JSR 330 似乎更加丰富些。。先记下这几个,待补充。。。
发表评论
-
Spring整合Hibernate(摘录)
2011-05-07 09:48 743简要步骤From:http://blog.csdn.net/s ... -
Spring3笔记之 JDBC(分页)
2011-04-25 22:08 2018接上篇的实体,DAO接口,实现,测试及XML http://p ... -
Spring3笔记之 JDBC
2011-04-25 22:02 7813使用Spring 的JDBC 先创建表: DROP TAB ... -
Spring3笔记之 事务传播
2011-04-24 15:51 1211摘自:http://zhxing.iteye.com/blog ... -
Spring3笔记之 AOP
2011-04-24 14:24 1902Spring AOP部分使用JDK动态代理或者CGLIB来为目 ... -
Spring3笔记之 AOP Cglib 代理
2011-04-24 14:13 1356JDK的Proxy实现代理要求 ... -
Spring3笔记之 AOP JDK 代理
2011-04-24 14:09 1053使用JDK代理,代理对象必须实现一接口 com.spring ... -
Spring3之 Resource
2011-04-21 22:49 3977主要是org.springframework.core.io. ... -
Spring3之 bean 定制bean特性
2011-04-19 21:10 1295Customizing the nature of a bea ... -
Spring3之 bean 作用域scope
2011-04-18 22:21 1460Bean scopes 作用域 5个:singleton,p ... -
Spring3之 bean Method injection
2011-04-17 20:04 1460Method injection(方法注入) bean都是s ... -
Spring3之 bean AutoWire
2011-04-17 12:01 5938Autowiring collaborators 自动装配 ... -
Spring3之 bean depends-on
2011-04-17 08:56 3277depends-on depend-on用来表 ... -
Spring3之 bean Lazy-initialized beans
2011-04-17 08:48 1971Lazy-initialized beans延迟 ... -
Spring3之 集合对象属性注入
2011-04-16 23:17 1211com.spring305.test.beanInit.cpo ... -
Spring3之 bean idref?
2011-04-16 18:39 966很是奇怪idref是干什么 ... -
Spring3之 bean简单属性注入
2011-04-16 17:40 1366DI (依赖注入)有二种: Constructor-based ... -
Spring3之 实例化bean2
2011-04-16 14:30 1016Spring3之 bean命名(http://ponlya.i ... -
Spring3之 bean命名
2011-04-16 11:36 2010一、bean的命名采用标准Java命名约定:小写字母开头,首字 ... -
Spring3之 IoC容器的实例化
2011-04-16 08:39 1517Bean:在Spring中,那些组成你应用程序的主体(ba ...
相关推荐
标题《spring3零配置注解实现Bean定义》中蕴含的知识点主要包括Spring框架中的Bean定义配置方法的演进,特别是从Spring 2.5到Spring 3版本的过渡过程中,对于注解方式实现Bean定义的支持如何被引入和优化。...
3. **@Order和Priority注解**:Spring提供了一个名为`@Order`的注解,可以用于控制Bean的实例化顺序。值越小,Bean优先级越高,先被实例化。此外,`@Priority`注解常用于AOP切面,用于指定切面的执行顺序。 4. **...
在Spring框架中,`@Bean`注解是一个关键的组件,用于声明一个方法将返回的对象作为Spring容器中的bean。在`@Bean`中定义`initMethod`属性,可以指定该bean初始化时需要调用的方法。当`initMethod`被设置为异步执行,...
3. **完成Bean工厂初始化**: 在`refresh()`方法内部,调用`finishBeanFactoryInitialization(beanFactory)`。这一步是为了确保所有单例Bean被预先实例化。 4. **预实例化单例Bean**: 进入`...
3. **Java配置类**:Spring 3.0引入了Java配置,允许我们使用Java类来配置Bean。 ```java @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } } ``` 这里的`@Bean...
Spring 3.x 注解应用详解 Spring 3.x 框架引入了依赖注入的注解,改变了传统的 XML 配置方式,提供了一种更加灵活和方便的依赖配置方式。下面对 Spring 3.x 的注解应用进行详细的介绍。 一、属性装配 在 Spring ...
在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...
例如,可以使用 Spring 的 @Order 注解来指定 bean 的初始化顺序,也可以使用 Spring 的生命周期接口(如 InitializingBean)来控制 bean 的初始化顺序。 总结 控制 2 个 bean 的初始化顺序是一个常见的问题,本篇...
当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...
在 Web 应用中,Spring 通常作为 Servlet 容器的一部分工作,例如 Tomcat 或 Jetty,通过 XML 配置文件或注解来定义 Bean 的配置。然而,在非 Web 的 Java 应用程序,如桌面应用或服务,我们同样可以利用 Spring 的 ...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
在Bean的定义中,我们可以使用`@Component`、`@Service`、`@Repository`和`@Controller`等组件注解,它们是Spring的 stereotype annotations(标准注解)。这些注解简化了Bean的声明,使得Spring可以通过扫描包路径...
Spring提供了多种注解,如`@Component`、`@Service`、`@Repository`和`@Controller`,它们可以用来标记Bean类,自动注册到Spring容器。同时,使用`@Autowired`注解可以完成依赖注入。 ```java @Service public ...
在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...
Spring还提供了自动装配功能,通过@Autowired注解,容器会自动寻找合适的bean进行注入,无需显式指定bean的ID。这使得配置更加简洁,特别是在使用大量bean的情况下。 **总结** Spring的核心容器bean是其强大功能的...
在Spring框架中,Bean的管理是其核心特性之一,它涉及到Bean的创建、初始化、装配以及销毁等整个生命周期过程。本课件主要涵盖了以下几个关键知识点: 1. **控制反转(IoC)和依赖注入(DI)**:Spring的核心设计...
综上所述,Spring的Bean配置是其核心机制之一,它涉及到IoC和DI原则的应用,以及多种配置方式的选择,如XML、注解和Java配置。理解并熟练掌握这些概念和实践,对于有效管理Java应用的复杂性至关重要。在实际项目中,...
在Spring框架中,IOC(Inversion of Control,控制反转)是一种设计原则,它将对象的创建和管理交给了容器来处理。...通过XML配置或注解,Spring能够灵活地控制Bean的生命周期,从而提高代码的可测试性和可维护性。
然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...