
SpringMVC的四个基本注释注释(控制层,业务层,持久层)-@组件,@存储库@服务,@控制器
1,@ Autowired和@Resource可用于组装bean. 两者都可以写在字段或setter方法上.
2. 默认情况下,@ Autowired按类型组装(此注释属于行业弹簧). 默认情况下,从属对象必须存在. 如果要允许空值,则可以将其required属性设置为false,例如: @Autowired(required = false),如果要使用名称汇编,可以将其与@Qualifier批注结合使用,如下所示:
Java代码![]()
@Autowired()@限定符(“ baseDao”)privateBaseDaobaseDao;
3. @Resource(此注释属于J2EE),默认的安全名称已组装,并且可以通过name属性指定名称.
如果未指定name属性,则在字段上写入注释时,默认情况下将按名称搜索字段名称. 如果注释是在setter方法上编写的,则默认情况下,属性名称用于组装. 仅当找不到与名称匹配的bean时,才按类型组装. 但是,应注意,如果指定了name属性,则只会按名称进行组装.
Java代码![]()
@Resource(name =“ baseDao”)privateBaseDaobaseDao;
我喜欢在字段上使用@Resource注释,该注释属于J2EE,它减少了与spring的耦合. 最重要的代码看起来很优雅.
SpringMVC中的四个基本注释:
可以理解为: 使用存储库,服务springmvc自定义注解,控制器进行保存,并使用资源进行检索.

@ Component,@ Repository @ Service,@ Controller
看看字面意思,很容易找出其中三个:
@Controller控制层是我们的操作层
@Service业务逻辑层是我们的服务或管理者层
@Repository持久层是我们经常说的DAO层
@Component(字面意思是组件),在不确定哪一层时使用.
实际上,这四个批注的效果是相同的,并且spring将在上下文中将它们加载为要注入的Bean;
但是在项目中,建议您严格按照Componen以外的其他三个注释的含义在项目中使用它. 这对于分层Web架构很有用! !!
示例:
1. 控制层
@控制器//注释是控制器
@RequestMapping(“ /登录”)

publicclassLoginAction {
(1)如果有两个实现接口的类,则会发生冲突. 编写参数,不会冲突,
存储库(值=“ a”).
(2)如果要控制反转,请使用@resource(名称=“ a”).
@自动接线
@Qualifier(“ userService”)//注释指定的注入bean
privateIUserServiceuserService;
. . . . . . 其他略. . . . .
}
2. 业务逻辑层
@Service(“ userService”)
publicclassUserServiceImplimplementsIUserService {

@自动接线
@Qualifier(“ userDao”)
privateIUserDaouserDao;
. . . . . . 其他略. . . . .
}
3. 持久层
@存储库(“ userDao”)
publicclassUserDaoImplimplementsIUserDao {
privatestaticLoggerlogger = LoggerFactory.getLogger(UserDaoImpl.class);
privateDataSourcedataSource;
privateJdbcTemplatetemplate;
@自动接线

publicUserDaoImpl(DataSourcedataSource){
this.dataSource = dataSource;
template = newJdbcTemplate(this.dataSource);
}
. . . . . . 其他略. . . . .
}
不对dao层进行注释时,找不到javaweb,并且将报告500个错误,例如找不到bean类的错误springmvc自定义注解,等等,如下所示:
此注释是将此类注入到弹簧容器中
-@ Component,@ Repository'/>
休眠缓存,仅用于数据输入和输出过程的缓冲区.
在休眠状态下,当有表关联时....会话将关闭. 当前端访问一次URL后,它将获得一个会话.
此外,例如,在springmvc中,如果您在前端没有此参数,则也可以将其传递给....但该值会自动分配为null,因此您不能使用该值〜如果您输出为空
-@ Component,@ Repository“ TITLE =” SpringMVC的四个基本注释注释(控制层,业务层,持久层)-@ Component,@ Repository“ />
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-147333-1.html
因为许家印帅到没天理哈哈哈
必须抵制美国货