spring+JPA的注解(自己使用)

xiaoxiao2022-06-11  37

依赖注入的手工装配的两种方式注解 @Resource 一般用这种 按照属性的名字去找XML种BEEN 来注入 如果没有找到匹配的会按照类型去找 或 @Autowired 按照类型去找 可以写在属性上或者Set方法上 依赖注入的自动装配的方式 不建议使用,会出现不可遇见的装配结果 通过在classpath自动扫描方式把组件纳入 spring容器中管理 <context:component-scan base-package="扫描的包"> base-package 为需要扫描的包(含子包) 他可以在类路径下寻找标注了@Component,@Service,@Controller,@Repository注解的类, 并把这些类纳入进spring容器中管理,他的作用和在XML文件中使用bean节点配置组件是一样的, 要使用自动扫描机制,需要打开它的配置。 @Service 用于标注业务层组件。 @Controller 用于标注控制层组件(如struts 中的 action) @Repository 用于标注数据访问组件(DAO组件) @Component 泛指组件,当组件不好归纳的时候,我们可以使用这个注解进行标注 配合 @Scope("prototype")使用 bean的作用域配置 @PostConstruct 写在方法上 表示该方法为初始方 JPA中 用@PersistenceContext 得到EntityManager em; 事务 @Transactional 类注释 如果方法不使用事务(如get* find*) 在方法上用 @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true) 该方法就不在使用事务控制 @Temporal(TemporalType.DATE) 时间类型 @Enumerated(EnumType.STRING) @Column(length=5,nullable=false) 枚举 多对多 @ManyToMany(cascade=CascadeType.REFRESH, fetch=FetchType.EAGER) @JoinTable(name="employee_department", joinColumns=@JoinColumn(name="username"), inverseJoinColumns=@JoinColumn(name="department_id")) public Set<Department> getDepartments() { return departments; } ---------------------------------------------------------------------------------- @ManyToMany(mappedBy="departments", cascade=CascadeType.REFRESH) public Set<Employee> getEmployees() { return employees; }
转载请注明原文地址: https://www.6miu.com/read-4931810.html

最新回复(0)