注解

nutz,今晚来一发(16): 类标注了@IocBean和@Inject,然后new到的对象无注入?

∥☆過路亽.° 提交于 2019-12-06 12:14:30
nutz群隔三差五就会有人问为啥XXX没有注入, 以下是对话的截图: 声明一下, 下面的截图只是为了说明问题, 无其他含义. 有时候我会想, 一个用Spring注解标注的类, 如果new出来,难道就能注入?? 不解求解释 提问: 一个对象标注了注解,到底发生了什么事? 为啥new出来的对象没有注入?? --------------------------------------上期的分割线------------------------- 上期答案: 会 会 不一定 dao1会无法回滚 原因: A. Trans里面的事务在run方法结束后(即用户代码执行完毕后)提交. ----------> 所以: run方法内抛出异常, dao1/dao2均回滚. 也就能得出第1/2题的答案 B. Trans使用的不是JTA或XADataSource. JTA或XADataSource, 会使用二阶段提交, 即prepareCommit和commit. 首先对2个数据源执行prepareCommit, 完成后, XA驱动会确保commit操作总是成功的(好吧,其实也只是理论上,鬼知道会不会网络出错,文件系统异常, 宇宙粒子打中数据点). -----------> 所以, 会出现 dao1提交成功后, dao2提交失败. 这时候dao1已经不能回滚. 虽然这几率很小, 但它的确存在.

注解(Annotation)

爷,独闯天下 提交于 2019-12-06 01:14:38
一、认识注解   注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性 JDK1.5之后内部提供的三个注解 @Deprecated 意思是“ 废弃的,过时的 ” @Override 意思是“ 重写、覆盖 ” @SuppressWarnings 意思是“ 压缩警告 ” 范例:注解的应用: package cn.gacl.annotation; /** * 此类是用来演示注解(Annotation)的应用的,注解也是JDK1.5新增加的特性之一 * JDK1.5内部提供的三种注解是:@SuppressWarnings(":deprecation")、@Deprecated、@Override * @author 孤傲苍狼 * */ /** * 类名的命名是有讲究的,类名、属性名、变量名一般是名词,或者是形容词+名词,方法一般是动词,或者是动词+名词, * 以AnnotationTest作为类名和以TestAnnotation作为类名是有区别的, * 前者是注解的测试,符合名词的特征,后者是测试注解,听起来就是一个动作名称,是方法的命名特征 */

struts2注解配置注意事项

半城伤御伤魂 提交于 2019-12-05 22:55:09
今天在写struts2的注解时遇到了低级错误下面给个分享: 总结action配置: package com.test.web.actons; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.Result; import com.opensymphony.xwork2.ActionSupport; @Namespace(value="/test") public class TestAction extends ActionSupport{ private static final long serialVersionUID = 2118537853660540192L; @Action(value="login",results={@Result(location="bookList.jsp")}) public String login() throws Exception{ System.out.println("hello struts2!!"); return SUCCESS; } }

struts2-基于注解的Action配置

≡放荡痞女 提交于 2019-12-05 02:03:58
1.web.xml中配置拦截器 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <filter> <filter-name>strutsFilter</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>strutsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> 2.·使用注解的方式配置struts需要引入一个jar包 3

spring4.x hibernate4.x 整合 ehcache 注解 annotate

让人想犯罪 __ 提交于 2019-12-03 20:24:39
废话不说 直接贴源码链接 : https://git.oschina.net/alexgaoyh/alexgaoyh.git 使用 ehcache 来提高系统的性能,现在用的非常多, 也支持分布式的缓存,在 hibernate 当中作为二级缓存的实现产品,可以提高查询性能。 pom.xml <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>4.1.6.Final</version> </dependency> 在项目的 src 下面添加 ehcache 的配置文件 ehcache.xml <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd"> <!-- Subdirectories can be specified below the property e.g. java.io.tmpdir/one --> <diskStore path="java.io.tmpdir"/> <!-- Mandatory Default Cache configuration.

Spring注解方式实现任务调度

我们两清 提交于 2019-12-03 16:16:37
原文: http://docs.spring.io/spring/docs/4.0.1.BUILD-SNAPSHOT/javadoc-api/ 注解类型:EnableScheduling @Target(value=TYPE) @Retention(value=RUNTIME) @Import(value=SchedulingConfiguration.class) @Documented public @interface EnableScheduling 使用该注解让Spring可以进行任务调度,功能类似于Spring的xml命名空间<task:*> 使用 @ EnableScheduling 注解的类示例: @Configuration @EnableScheduling public class AppConfig { // 各种@bean的定义 // various @Bean definitions } 使用@Scheduled注解可以被Spring容器检测。使用示例: package com.myco.tasks; public class MyTask { @Scheduled(fixedRate=1000) public void work() { // 任务执行逻辑 // task execution logic } } 下面的配置使MyTask.work(

实现接口时@Override注解问题

↘锁芯ラ 提交于 2019-12-03 15:25:47
用IntelliJ 15打开一个以前的工程,发现代码出现很多关于@Override的错误,编辑器提示:“ @Override is not allowed when implementing interface method”,怎么会这样子?看来@Override是个有故事的家伙,呵呵!   先来上张图吧!看看到底是什么样子的错误。   下面我们来分析一下该问题。我们都知道@Override从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@Override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。   出现以上问题,则跟编译器版本问题有关。编译器1.5只支持@Override注释重写父类方法,不支持实现接口方法。而我的IDE默认使用jdk1.5的编译器。   我们只需要将language level设置高于jdk1.5版本即可,因为我机器安装的是jdk1.7,所以我将language level设置为:jdk1.7,问题解决。   IntelliJ设置方法:菜单File → Project Structure → Project Language Level   Eclipse设置方法:菜单Windows->Preferences-->java-

一个奇怪的异常,SSH使用注解方式

我与影子孤独终老i 提交于 2019-12-03 08:08:23
异常信息如下 Exception in thread "main" org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: cn.pb.jbit.tcjc034.entity.Director; nested exception is org.hibernate.MappingException: Unknown entity: cn.pb.jbit.tcjc034.entity.Director at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) at org

spring mvc 整合 jpa 搭建基于领域驱动模型框架搭建

爷,独闯天下 提交于 2019-12-03 02:11:10
一、maven pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.fengshu</groupId> <artifactId>gotian</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>gotian</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java-version>1.6</java-version> <servlet-api.version>2.5</servlet-api.version> <jsp

Spring 注解 @Resource和@Autowired

一世执手 提交于 2019-12-01 09:40:31
Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource、 @PostConstruct及@PreDestroy。 1. @Autowired @Autowired是Spring 提供的,需导入 Package:org.springframework.beans.factory.annotation.Autowired; 只按照byType 注入。 2. @Resource @Resource默认按 byName 自动注入,是J2EE提供的, 需导入Package: javax.annotation.Resource; @Resource有两个中重要的属性:name和type ,而Spring将@Resource注解的name属性解析为bean的 名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用 type属性时则使用 byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用by Name自动注入策略。 @Resource装配顺序   (1). 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常;   (2). 如果指定了name,则从上下文中查找名称(id