ssh 注解(annotation)

Struts2注解

@Action(value="login",results={ @Result(name="login",type="redirectAction",params={"actionName","index","namespace","/","code","1001"}), @Result(name="success",type="redirectAction",params={"actionName","home","namespace","/"})} ) public String login() { Map<String, Object> session = ActionContext.getContext().getSession(); User user1 = us.findByUser(user); if (user1!=null) { session.put("user", user1); return "success"; }else { code = "1001"; return "error"; } }

 hibernate注解

  导入hibernate-entitymanager-4.2.0.Final.jar包

@Entity     
@Table(name="t_user")     
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)     
public class User {     
  
     private int id;     
     private String username;     
     private String password;     
       
     @Id     
     @GeneratedValue(strategy=GenerationType.IDENTITY)     
     public int getId() {     
              return id;     
     }     
    //名字相同不用写
    @Column(name="username")     
        public String getUsername() {     
                    return username;     
        }  
一对多和多对一  

User.java     
       
      @OneToMany(mappedBy="user")     
      public Set<Address> getAddressSet() {     
                 return addressSet;     
      }     
           
Address.java     
     
      @ManyToOne     
      @JoinColumn(name="userid")     
      public User getUser() {     
                 return user;     
      }     
  

mappedBy="user"→代表放弃关系维护;

java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z错误解决方法:

打开javaee.jar: D:\myeclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.5.0.me201207171805\data\libraryset\EE_5\javaee.jar;

找到persistence文件,删除

 

多对多  

Student.java     
     
     @ManyToMany(mappedBy="students")     
     public Set<Teacher> getTeachers() {     
              return teachers;     
     }     
          
Teacher.java           
     
     @ManyToMany     
     @JoinTable(name="t_student_teacher",     
     joinColumns=@JoinColumn(name="studentid"),     
     inverseJoinColumns=@JoinColumn(name="teacherid"))
     @orderBy("id desc")
     public Set<Student> getStudents() {     
              return students;     
     }  
uuid生成id
        @Id
    @GenericGenerator(name="myuuid",strategy="uuid")
    @GeneratedValue(generator="myuuid")
    public String getId() {
        return id;
    }    
一对一  

User.java     
     
         @OneToOne     
         @PrimaryKeyJoinColumn     
          public Card getCard() {     
                       return card;     
          }     
     
  Card.java     
     
   @Id     
    @GeneratedValue(generator="pkGenerator")     
    @GenericGenerator(name = "pkGenerator",strategy =  
     "foreign",parameters={@Parameter(name = "property", value = "user")})      
     public int getId() {     
              return id;     
     }     
     @OneToOne(mappedBy="card")     
     @PrimaryKeyJoinColumn     
     public User getUser() {     
              return user;     
     }  
排除不进行持久化操作的属性  

@Transient     
public int getAge() {     
               return age;     
}  

 Spring annotation

Bean的注解

@Component

@Service

@Repository

@Controller

或者JSR 330  用 @Named

@Repository
@Scope("prototype")
@Lazy(true)
public class MysqlDao implements IUDao{

}

IOC Annotation

@Autowired(spring) 先byname,没找到就byType 自动注入

@Inject(JSR 330)

@Resource(JSR 250)@Resource 默认按 byName 自动注入罢

//required=false有就注入,没有接不注入,inject,resource没有这属性
//不用写set方法了
    @Autowired(required=false)
    private IUDao mysqlDao;

 AOP Annotation

applicationContext.xml
 <!-- AOP注解 -->
      <aop:aspectj-autoproxy/>  
@Controller
@org.aspectj.lang.annotation.Aspect
public class Aspect {
    @Pointcut("execution(* dao..*.*(..))")
    public void  pointcut() {
    }
    @Before("pointcut()")
    public void  before() {
        System.out.println("前置通知》》》");
    }
    @AfterReturning(value="pointcut()",returning="val")
    public void afterreturn(Object val) {
        System.out.println("后置通知" +val);
    }
    @AfterThrowing(value="pointcut()",throwing="ex")
    public void     exception(Exception ex) {
        System.out.println("异常通知"+ ex.getClass().getName());
    }
    @After("pointcut()")
    public void after() {
        System.out.println("最终通知");
    }
}

 

 

posted on 2014-07-21 16:23  jiandan123  阅读(217)  评论(0编辑  收藏  举报

导航