Spring2.5中基于注释的IoC - Java交流 - 三路友社论坛 娱乐交友社区论坛 - SNS
返回列表 回复 发帖

Spring2.5中基于注释的IoC

本帖最后由 trueman 于 2010-2-22 21:44 编辑

来源:http://www.cnblogs.com/e_ver/archive/2009/08/05/1539294.html
基于注释(Annotation)的配置有越来越流行的趋势,Spring 2.5 顺应这种趋势,提供了完全基于注释配置 Bean、装配 Bean 的功能,您可以使用基于注释的 Spring IoC 替换原来基于 XML 的配置。
   注释的优势       它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。
       注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的 XML 配置文件,程序员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。
      
       因此在很多情况下,注释配置比 XML 配置更受欢迎,注释配置有进一步流行的趋势。Spring 2.5 的一大增强就是引入了很多注释类,现在您已经可以使用注释配置完成大部分XML 配置的功能。在这篇文章里,我们将向您讲述使用注释进行 Bean 定义和依赖注入的内容。
    原来我们是怎么做的UserDAO.java:
Java代码

  • package com.tanlan.springdemo;

  • /**
  • * UserDAO接口
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    interface UserDAO {

  • public
    void addUser();
  • }

package com.tanlan.springdemo;/** * UserDAO接口 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public interface UserDAO {        public void addUser();}
UserJDBCDAO.java:

Java代码

  • package com.tanlan.springdemo;

  • /**
  • * UserDAO的JDBC实现
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    class UserJDBCDAO implements UserDAO {

  • public
    void addUser() {
  •         System.out.println("使用JDBC增加用户信息!");
  •     }
  • }

package com.tanlan.springdemo;/** * UserDAO的JDBC实现 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public class UserJDBCDAO implements UserDAO {        public void addUser() {                System.out.println("使用JDBC增加用户信息!");        }}
UserService.java:

Java代码

  • package com.tanlan.springdemo;

  • /**
  • * User业务逻辑处理类
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    class UserService {

  • private UserDAO userDAO;

  • public
    void addUser() {
  •         userDAO.addUser();
  •     }

  • public UserDAO getUserDAO() {

  • return userDAO;
  •     }

  • public
    void setUserDAO(UserDAO userDAO) {

  • this.userDAO = userDAO;
  •     }
  • }

package com.tanlan.springdemo;/** * User业务逻辑处理类 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public class UserService {        private UserDAO userDAO;        public void addUser() {                userDAO.addUser();        }        public UserDAO getUserDAO() {                return userDAO;        }        public void setUserDAO(UserDAO userDAO) {                this.userDAO = userDAO;        }} 配置文件 spring.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-2.5.xsd                                http://www.springframework.org/schema/context http://www.springframework.org/s ... ing-context-2.5.xsd">        <bean id="userJdbcDAO" class="com.tanlan.springdemo.UserJDBCDAO"></bean>        <bean id="userService" class="com.tanlan.springdemo.UserService">                <property name="userDAO" ref="userJdbcDAO"></property>        </bean></beans> 测试类Test.java:

Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.context.ApplicationContext;

  • import org.springframework.context.support.ClassPathXmlApplicationContext;

  • public
    class Test {

  • public
    static
    void main(String[] args) {
  •         String[] files = { "spring.xml" };
  •         ApplicationContext context = new ClassPathXmlApplicationContext(files);
  •         UserService userService = (UserService) context.getBean("userService");
  •         userService.addUser();
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {        public static void main(String[] args) {                String[] files = { "spring.xml" };                ApplicationContext context = new ClassPathXmlApplicationContext(files);                UserService userService = (UserService) context.getBean("userService");                userService.addUser();        }}
使用 @Autowired 注释          Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。

对UserService.java的改进:
Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.beans.factory.annotation.Autowired;

  • /**
  • * User业务逻辑处理类
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    class UserService {

  • @Autowired

  • private UserDAO userDAO;

  • public
    void addUser() {
  •         userDAO.addUser();
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.beans.factory.annotation.Autowired;/** * User业务逻辑处理类 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public class UserService {        @Autowired        private UserDAO userDAO;        public void addUser() {                userDAO.addUser();        }}
这个类甚至可以省略getter/setter.

配置文件spring.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-2.5.xsd                                http://www.springframework.org/schema/context http://www.springframework.org/s ... ing-context-2.5.xsd">        <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"></bean>        <bean id="userJdbcDAO" class="com.tanlan.springdemo.UserJDBCDAO"></bean>        <bean id="userService" class="com.tanlan.springdemo.UserService"></bean></beans>
      Spring 通过一个 BeanPostProcessor 对 @Autowired 进行解析,所以要让 @Autowired 起作用必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。
        UserService类的属性不需要配置了。
当候选 Bean 数目不为 1 时的应对方法        在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。
       和找不到一个类型匹配 Bean 相反的一个错误是:如果 Spring 容器中拥有多个候选Bean,Spring 容器在启动时也会抛出 BeanCreationException 异常。
       Spring 允许我们通过 @Qualifier 注释指定注入 Bean 的名称
加入现在多了一个UserDAO的实现类
UserHibernateDAO.java:

Java代码

  • package com.tanlan.springdemo;

  • /**
  • * UserDAO的Hibernate实现
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    class UserHibernateDAO implements UserDAO {

  • public
    void addUser() {
  •         System.out.println("使用Hibernate增加用户信息!");
  •     }
  • }

package com.tanlan.springdemo;/** * UserDAO的Hibernate实现 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public class UserHibernateDAO implements UserDAO {        public void addUser() {                System.out.println("使用Hibernate增加用户信息!");        }}
更新spring.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-2.5.xsd                                http://www.springframework.org/schema/context http://www.springframework.org/s ... ing-context-2.5.xsd">        <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"></bean>        <bean id="userJdbcDAO" class="com.tanlan.springdemo.UserJDBCDAO"></bean>        <bean id="userHibernateDAO" class="com.tanlan.springdemo.UserHibernateDAO"></bean>        <bean id="userService" class="com.tanlan.springdemo.UserService"></bean></beans>
当Spring自动找寻UserDAO类型的类时,会找到两个符合要求的类:
No unique bean of type [com.tanlan.springdemo.UserDAO] is defined: expected single matching bean but found 2: [userJdbcDAO, userHibernateDAO]

需要改进UserService.java:
Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.beans.factory.annotation.Autowired;

  • import org.springframework.beans.factory.annotation.Qualifier;

  • /**
  • * User业务逻辑处理类
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • public
    class UserService {

  • @Autowired

  • @Qualifier("userJdbcDAO")

  • private UserDAO userDAO;

  • public
    void addUser() {
  •         userDAO.addUser();
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;/** * User业务逻辑处理类 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */public class UserService {        @Autowired        @Qualifier("userJdbcDAO")        private UserDAO userDAO;        public void addUser() {                userDAO.addUser();        }}
使用 <context:annotation-config/> 简化配置        Spring 2.1 添加了一个新的 context 的 Schema 命名空间,该命名空间对注释驱动、属性文件引入、加载期织入等功能提供了便捷的配置.
       改进spring.xml:
Xml代码


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"        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-2.5.xsd                                http://www.springframework.org/schema/context http://www.springframework.org/s ... ing-context-2.5.xsd">        <context:annotation-config></context:annotation-config>        <bean id="userJdbcDAO" class="com.tanlan.springdemo.UserJDBCDAO"></bean>        <bean id="userHibernateDAO" class="com.tanlan.springdemo.UserHibernateDAO"></bean>        <bean id="userService" class="com.tanlan.springdemo.UserService"></bean></beans> 注意命名空间:xmlns:context=http://www.springframework.org/schema/context的添加。
以及<context:annotation-config/>的使用。

使用 @Component Spring 2.5 提供的 @Component 注释可以定义 Bean,从 XML 配置文件中完全移除 Bean 定义的配置。
改进UserJDBCDAO.java:
Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.stereotype.Component;

  • /**
  • * UserDAO的JDBC实现
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • @Component("userJdbcDAO")

  • public
    class UserJDBCDAO implements UserDAO {

  • public
    void addUser() {
  •         System.out.println("使用JDBC增加用户信息!");
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.stereotype.Component;/** * UserDAO的JDBC实现 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */@Component("userJdbcDAO")public class UserJDBCDAO implements UserDAO {        public void addUser() {                System.out.println("使用JDBC增加用户信息!");        }}
改进UserHibernateDAO.java:
Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.stereotype.Component;

  • /**
  • * UserDAO的Hibernate实现
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • @Component("userHibernateDAO")

  • public
    class UserHibernateDAO implements UserDAO {

  • public
    void addUser() {
  •         System.out.println("使用Hibernate增加用户信息!");
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.stereotype.Component;/** * UserDAO的Hibernate实现 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */@Component("userHibernateDAO")public class UserHibernateDAO implements UserDAO {        public void addUser() {                System.out.println("使用Hibernate增加用户信息!");        }}
改进UserService.java:
Java代码

  • package com.tanlan.springdemo;

  • import org.springframework.beans.factory.annotation.Autowired;

  • import org.springframework.beans.factory.annotation.Qualifier;

  • import org.springframework.stereotype.Component;

  • /**
  • * User业务逻辑处理类
  • *
  • * @author tanlan tl_smile@163.com
  • *
  • * @date 2009-8-3
  • */

  • @Component

  • public
    class UserService {

  • @Autowired

  • @Qualifier("userJdbcDAO")

  • private UserDAO userDAO;

  • public
    void addUser() {
  •         userDAO.addUser();
  •     }
  • }

package com.tanlan.springdemo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;/** * User业务逻辑处理类 *  * @author tanlan tl_smile@163.com *  * @date 2009-8-3 */@Componentpublic class UserService {        @Autowired        @Qualifier("userJdbcDAO")        private UserDAO userDAO;        public void addUser() {                userDAO.addUser();        }}
改进spring.xml:
Xml代码


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"        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-2.5.xsd                                http://www.springframework.org/schema/context http://www.springframework.org/s ... ing-context-2.5.xsd">        <context:component-scan base-package="com.tanlan.springdemo"></context:component-scan></beans>
      在使用 @Component 注释后,Spring 容器必须启用类扫描机制以启用注释驱动 Bean 定义和注释驱动 Bean 自动注入的策略.
       <context:component-scan/> 的 base-package 属性指定了需要扫描的类包,类包及其递归子包中所有的类都会被处理.

注释配置和 XML 配置的适用场合       是否有了这些 IOC 注释,我们就可以完全摒除原来 XML 配置的方式呢?答案是否定的。有以下几点原因:
       注释配置不一定在先天上优于 XML 配置。如果 Bean 的依赖关系是固定的,(如Service 使用了哪几个 DAO 类),这种配置信息不会在部署时发生调整,那么注释配置优于 XML 配置;反之如果这种依赖关系会在部署时发生调整,XML 配置显然又优于注释配置,因为注释是对 Java 源代码的调整,您需要重新改写源代码并重新编译才可以实施调整。
如果 Bean 不是自己编写的类(如 JdbcTemplate、SessionFactoryBean 等),注释配置将无法实施,此时 XML 配置是唯一可用的方式。
       注释配置往往是类级别的,而 XML 配置则可以表现得更加灵活。比如相比于@Transaction 事务注释,使用 aop/tx 命名空间的事务配置更加灵活和简单。
      
       所以在实现应用中,我们往往需要同时使用注释配置和 XML 配置,对于类级别且不会发生变动的配置可以优先考虑注释配置;而对于那些第三方类以及容易发生调整的配置则应优先考虑使用 XML 配置。Spring 会在具体实施 Bean 创建和 Bean 注入之前将这两种配置方式的元信息融合在一起。
大家可能都会认为,要想学好英语口语,练就一口纯正的口语英语,当然要去模仿纯正的,标准的发音啦。但是事实上却是相反的,我们用日本人的一个试验来说明。
  日本人是出了名的英语说的难听,发音不标准,是什么原因造成的呢?很多人答曰日本人舌头硬。其实日本人跟大家一样,舌头并不特殊,发音不准的原因是因为他们的日语造成的。大家都知道英语有大约44个发音(元音加辅音),而日语只有大约30个。(按照标准音图,日语是有50个音的,但是有一些音实际上是相同的,没什么区别)于是日本人在说英文时,很多音是发不出来的。比如“日 r”的音,日语中没有,所以不会说。很常用的read and write,日本人只能说成 lead and light,用“l”代替“r”,是个很典型的例子。为了找到确切的原因,有人做了这样一个实验,让这些日本人听许多“r”或“l”打头的词(不给看拼写),二选一的答案,做完了测试,发现大家的正确率是50%。各位已经发现问题了,二选一能答对一半,实际就是根本不会,纯粹瞎懵,命中率当然是一半。这个结果说明,这些日本人根本就没有听出来这些音的区别,这就可以理解他们说不准的原因了,即然都分不出区别,怎么可能说出区别。
  其实发音不准主要是因为耳朵听不准这件事,大家是有实际观察经验的。比如有人唱歌走调,是什么原因呀?是不是嗓子不好?不是,主要是耳朵听不准,所以唱歌走调的人唱完了觉得自己唱得挺对的,你们怎么都说我走调呢?原因是他们的耳朵听不准音,自己听不出走调了。(如果您唱歌不走调,自己堵上耳朵唱一个试试,别人保证说您走调了)。
  科学实验告诉我们,只有小孩子的耳朵对各种语言有高分辨率,才可以听准任何语言的发音而模仿到位,成年人不行了。具体说,大多数人到十二岁以上就不行了,这个能力失去了。这就导致了成年人为了纠正外语发音时或提高发音准确度,单纯听和模仿标准外语发音不行,因为做不到,所以如何纠正成年人的发音的最重要环节就是提高成年人的听音准确度。而实践经验证明,多听各种各样的发音,有助于成年人提高听力敏感度和分辨力,从而达到定准和自然纠正自己发音的效果。
        在这里给大家推荐一款超分贝英语学习软件,其中的语音内容非常丰富,发音的有男的、女的、老的、少的,而且都是实际的语音氛围,在学习的过程中能够听到各种风格的发音,而且在学习时压力不大,但是实际效果却非常好,不但可以提高英语听力的分辨能力,提高实战水平,而且还能够应对各种英语考试,适合多年龄层次的人员学习英语。其范围包括:幼儿英语少儿英语儿童英语小学英语初级 英语初中英语高中英语高考英语职称英语大学英语英语四级考研英语商务英语外贸英语等等。
         超分贝英语网站:www.yiEnglish.com 注:如果您觉得本文对你有用,欢迎告诉您的朋友。转载请以链接的形式注明出处。
超分贝英语学习软件是一款优秀的英语学习软件。该软件从听力入手全面解决听、说、读、写等各方面问题,经过验证使用该软件一年的学习效果比普通学员学习十年英语的效果还要好。其中一位学员,以初中毕业的文化水平,十年没有接触过英语的状态,使用该软件一个月后即可与外国人进行交易,而能够实现与外国人进行无障碍交流的学员更是数不甚数。通过该软件学习所得的英语知识扎实、牢固、熟练、可用性强。该软件以实际提高学员的英语水平为基础,全面应对各种考试,从根本实现不为考试而学习但却可高分通过各种考试。超分贝会员更可免费参加网络英语角,让你告别哑巴英语!
超分贝软件官方网址:
www.yiEnglish.com/Default2.aspx?c=x01
该软件分:简易版(适用Windows2000XP)、Vista版、完全版(适应目前通用Windows系统)
在收入分配改革呼声日益高涨之际,国家统计局近日发布的2009年工资调查报告引发广泛关注。
  7月16日,国家统计局发布2009年度在岗职工年平均工资调查报告。根据该报告,2009年全国城镇私营单位就业人员年平均工资为18199元,而国企在岗职工年平均工资为35053元。《每日经济新闻》记者发现,上述数据表明私企平均工资比国企低48%。
  私企工资增幅同比大幅回落
  “国家统计局发布平均工资调查报告,其目的非常明显,就是为了配合收入分配制度改革,缩小工资收入差距。”7月22日,湖北省统计局副局长叶青对《每日经济新闻》记者表示。
  根据国家统计局的报告,2009年全国城镇私企年平均工资与2008年的17071元相比,增加了1128元,名义增长6.6%,但是比2008年增长幅度回落了7个百分点。对比而言,2008年国企年平均工资为31005元,2009年为35053,同比增长达到13.1%。
  同时,国家统计局专门针对非私营单位进行了调查。2009年全国城镇非私营单位在岗职工年平均工资为32736元,与2008年的29229元相比,增加了3507元,名义增长12%,增长幅度回落了5.2个百分点。
  从地域方面分析,城镇私营单位年平均工资由高到低依次是东部、东北、西部和中部,分别是19840元、16414元、16234元和15402元。这四大区域年平均工资的增长率从高到低依次为:中部11.3%、西部10.1%、东北9.9%、东部4.5%。
  据了解,国家统计局于2009年首次建立了私营单位工资统计调查制度。
  私营单位工资统计采用多种调查方式相结合的形式进行,就业人员规模在100人及以上的单位采取全面调查;就业人员规模在20~99人的单位采取抽样调查,以省级为总体,分行业门类进行抽样,抽样比为10%;就业人员规模在19人及以下的单位不进行直接调查,根据经济普查、典型调查等数据推算。
  由于各地私营单位的情况差异较大,变动极为频繁,为提高抽样效率,在实施抽样调查中,如发现已经消亡的抽中私营单位,采取同地区、同行业、同规模的原则进行替换。在同一行业中样本的替换率不得大于10%,超过这个比例,该行业应重新更新法人单位名录库,并重新进行抽样设计。
  国家统计局在上述报告中指出,2009年私营单位工资统计全国共调查了64万家单位,约占全国397万家私营单位的16.1%。这64万家私营单位都来自城镇,主要包括私营有限责任公司、私营股份有限公司、私营合伙企业和私营独资企业。
  另据《每日经济新闻》记者获悉,河北省统计局于7月16日发布2009年工资调查报告。2009年,全省城镇单位在岗职工平均工资为28383元,比上年提高3627元,增长14.7%;扣除物价因素,实际增长16.1%。全省城镇私营单位就业人员平均工资为15111元,比上年提高1423元,增长10.4%。
  其中,河北省国有单位在岗职工平均工资为29459元,比上年增加3729元,增长14.5%;集体单位在岗职工平均工资为18467元,增加3174元,增长20.8%;其他所有制单位在岗职工平均工资为27754元,增加3434元,增长14.1%。
  2009年,河北省城镇企业单位(不含私营企业)在岗职工平均工资为28333元,比上年增加3566元,增长14.4%;事业单位在岗职工平均工资为28002元,增加3746元,增长15.4%;机关单位在岗职工平均工资为29448元,增加3594元,增长13.9%。
  期待收入分配改革破题大丰人才网
东台人才网
盐都人才网
亭湖人才网
阜宁人才网
射阳人才网
建湖人才网
滨海人才网
响水人才网
  国有企业平均工资为何大幅度超过私营企业?叶青解释说,“原因其实很简单,因为国有企业大多数是垄断性行业,工资收入相对比较高。”
  问题的关键在于,未来几年私营企业平均工资是否会向国有企业靠拢?叶青表示,“我个人认为,在目前很难做到,因为国企不可能降工资,同时私营企业的老板也不愿意涨工资。这些现实情况,决定了未来几年或者10年都难以做到。”
  同时他指出,“收入分配制度改革有可能逐渐缩小私企跟国企的平均工资待遇,但是要看后期的分配制度改革有没有效果。”
  在他看来,正在进行讨论的收入分配改革,其中一个重要思路是,私营企业应该增加工资待遇,这才是私营企业员工待遇向国企靠拢的根本途径。未来几年,不排除将通过有关法规条文强制执行。
《创业板、中小板面临着虚实两大利空的冲击》
昨天是央行今年二次加息后的第一个交易日,按照以往加息后股市大盘走势的惯例,加息的靴子落地后通常是“利空出尽”,股市会因此走出上升的走势。北京二手楼盘(背景新闻:央行12月26日起加息基准利率上调0.25个百分点)易发棋牌
  但昨天的股市走势并未如投资者所愿,虽然当天的早盘在加息利空兑现后出现了跳空高开甚至一路高走的走势,但这种上涨的好时光仅仅维持了一个半小时的时间。上证指数上摸2876.81点之后,便逐波下行,到下午2点左右呈现出加速下跌的走势,北京租房房价最低跌至2774.54点,最后收于2781.40点,全天下跌53.76点,跌幅1.90%。
  股市为何没有在“二次加息”后走出“利空出尽”的走势?究其原因在于股市虽然迎来了“二次加息”,但却没有迎来“利空出尽”,相反,“二次加息”对于当前的股市来说构成了实质性的利空。
  首先,是加剧了整个市场资金面的紧张局势。家居装修时值年底,银行业面临着资金回笼的压力,加上央行最近一个时期多次上调存款准备金率,以至市场资金明显偏紧。目前,质押式回购隔夜7天利率为4.19%,21天利率为5.04%,这几乎是上个月甚至是2周前的2倍,足见资金面的紧张程度。而在市场资金面紧张的同时,股市上周有超过500亿元资金离场。在这种情况下,二次加息出台,这对于当前股市资金面来说是雪上加霜。
  而且,“二次加息”就加息本身而言,也不是“利空出尽”。室内装修由于11月份CPI达到了5.1%,尽管在政府干预下,12月份的CPI会有所回落,但明年一季度由于元旦、春节的因素,通胀的压力仍然很大,市场普遍预计明年一季度还会加息,加上存款准备金率的继续上调并无悬念,所以“二次加息”远非是“利空出尽”。真钱斗地主
  其次,二次加息也让房地产股承受到一定的压力。北京房价价格最近,房地产股成为大盘稳定的重要力量,但二次加息的出台,对房地产股是一种压力。加上26日温总理在中央人民广播电台表示“楼市调控落实不好”、称“有信心让房价回到合理价位”,这令市场感到楼市调控有加码可能,这也对27日房地产股的走势构成压力。
  当然,影响27日股市走势的并非只是上述因素。比如,北京“治堵”对购车的限制,这让汽车业感受到“拐点”的到来,上海汽车因此大跌3.07%,北京二手住宅整个汽车板块的跌幅也达到了3.03%,远超过大盘,成为推动大盘下跌的重要力量。
  又如,创业板、中小板面临着虚实两大利空的冲击,造成股价大幅回调。虚的是“新三板”扩容向散户开放的传闻,这让高估值的创业板、中小板受到很大的压力。实的是支撑创业板、中小板炒作的原定于今年年底前出台的《战略性新兴产业发展规划》已被推迟到明年上半年,从而使得“两板”新兴产业题材的炒作在短期内难以为继。27日创业板跌3.43%、北京房地产中介公司中小板跌2.66%,均领跌于大盘。
  此外还有一个很重要的原因就是股市“肾亏”。近日媒体纷纷报道或转载了2010年中国股市融资世界第一、跌幅世界第三的消息。网络店铺这种现象本身是互为因果的。中国股市之所以跌幅前三,其原因就在于融资世界第一的缘故,而且这种融资都是高价融资,新研股份发行市盈率突破150倍就是最好的证明。这种股市本身是不健康的,面对利空的袭击,投资者自然是大难来时各自飞,走势不强自在意料之中。


最重要的一点:相信自己!

易发棋牌  http://www.bc175.net
返回列表