技术标签: spring 面试 Java面试总结 java 注解 SSM
你好我是辰兮,很高兴你能来阅读,本篇小结了关于Spring的常见注解,分享给初学者,希望学有所获,大家一起进步。
1.JAVA基础面试常考问题
: JAVA面试基础常考题汇集2.JAVA面试SSM框架常考
:JAVA框架面试题汇集@Repository、@Service、@Controller 和 @Component 将类标识为Bean
Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:
@Repository、@Service 和 @Controller。
在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。
虽然目前这3 个注释和 @Component 相比没有什么新意,但 Spring 将在以后的版本中为它们添加特殊的功能。
所以,如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用上述注解对分层中的类进行注释。
@RestController从Spring 4.0以后产生的,用来将json/xml数据发送到前台页面,而不是返回视图页面。
二者区别:
@Resource的作用相当于@Autowired,
只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。
@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。
如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Resource装配顺序
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
1.引入lombok
要使用 @Data 注解要先引入lombok,lombok 是什么,它是一个工具类库,可以用简单的注解形式来简化代码,提高开发效率。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
@Data
public class Post {
private Long id;
private Long postId;
private Long userId;
private Integer status;
}
在编译器中添加插件
这里以IDEA为例,在setting的plugin里搜索lombok plugin,安装插件。
常用的几个注解:
注解@Slf4j的使用
声明:如果不想每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class); 可以用注解@Slf4j;
log.error("getHostName error:{}",e);
通过使用@MapperScan可以指定要扫描的Mapper类的包的路径
添加位置:是在Springboot启动类上面添加,
@SpringBootApplication
@MapperScan("com.it.dao")
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisDemoApplication.class, args);
}
}
添加@MapperScan(“com.it.dao”)注解以后,com.it.dao包下面的接口类,在编译之后都会生成相应的实现类。
@Mapper注解:
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面
@Mapper
public interface UserDAO {
//代码
}
@CrossOrigin是用来处理跨域请求的注解
springboot使用@EnableScheduling注解进行定时任务
@SpringBootApplication
@EnableScheduling
public class SpringbootDemoApplication{
...
}
@Component
public class ScheduleTaskService implements IScheduleTaskService {
@Override
@Scheduled(fixedRate = 6000)
public void autosync() {
System.out.print(".");
}
}
其中@Scheduled注解后面括号里面可以指定各种参数,在上面代码里面的fixedRate = 6000意思是下面的任务每隔6000毫秒,即每隔6秒执行一次。
@Bean 注解将会告诉 Spring 其修饰的方法将会返回一个对象,该方法要注册为 Spring 应用上下文的 bean。
@Configuration
public class AppConfig {
@Bean
public TransferService transferService() {
return new TransferServiceImpl();
}
}
@Configuration注解表明这个类是一个配置类。可以启动组件扫描,用来将带有@Bean的实体进行实例化bean等
<beans>
<bean id="transferService" class="com.it.TransferServiceImpl"/>
</beans>
The best investment is to invest in yourself
2020.06.07 记录辰兮的第79篇博客
文章浏览阅读8.4k次,点赞6次,收藏27次。神奇的模型在哪儿?谁才是最适合我的模型?村口大黄狗为何连夜嚎叫?……_sd模型网站
文章浏览阅读588次。学习Http的基本请求方法,在本地模拟一个web服务器_c#怎么用url链接
文章浏览阅读2.2k次,点赞2次,收藏2次。首先说遇到的问题:animation clip文件 拖拽到某物体的Animation组件上,但是不起作用。一般操作是这样,会造成该问题:1,选中一个物体A(此时不携带Animator和Animation组件),想给他加跳跃动画;2,windows -> animation -> animation 打开animation的窗口;3,在窗口中点击“Create”,创建了一个名字为 “jump_anim”的 clip, 注意,unity同时给物体添加了Animator组件,而非A_clip视频播放不了
文章浏览阅读297次。学习了张孝祥老师的交通灯项目后,就深深的喜欢上了张孝祥老师的讲课风格,他的每句话话中都显露出了他的清晰、完整、丰富、深入的思维,可以推断出他已经把这个题目理解的非常到位了。他的讲课方式很像我的高中老师,就是把一个题目从头到尾的思路一一的都讲出来,不跳跃任何一个思维点,不遗漏任何一个思维点,这才是一个智者的思路。希望黑马程序员的老师们都能像张孝祥老师一样事无巨细的把一个知识点讲透彻,讲的不遗漏。
文章浏览阅读1.1k次。OpenCV-contrib有一个名为FastLineDetector的东西,如果它被用作LSD的替代品似乎很好。如果你有点感动,你会得到与LSD几乎相同的结果。当我将OpenCV提升到4.1.0时,LineSegmentDetector(LSD)消失了。_lines1, _, _, _ = lsd1.detect(gray_image1, 2, 2)
文章浏览阅读923次,点赞24次,收藏27次。Python 作为脚本语言,虽然上手简单、入门快,但是运行速度没有Java、C++快,应用也不够广泛,那Python到底有什么优势?来听听王道Python的主讲老师龙哥怎么说?Python被认为是一门相对容易学习和上手的编程语言,对初学者友好。其简洁的语法和清晰的代码结构使得开发人员能够更专注于解决问题而不是处理语法复杂性。这使得开发人员能够轻松地利用这些工具进行人工智能项目的开发。例如最流行的机器学习框架Scikit-learn只支持Python。
文章浏览阅读138次。掌握了小小的像素,我们可以使用更加复杂一点的东西了,对,就是图像,无数的像素的集合~还记得上次我们为了生成的一张图片,花了无数时间,还好一般游戏不会在游戏的过程中动态生成图像,都是将画好的作为资源封装到游戏中。对2D游戏,图像可能就是一些背景、角色等,而3D游戏则往往是大量的贴图。虽然是基础,这里还是要罗嗦一下,之前说的RBG图像,在游戏中我们往往使用RGBA图像,这个A是alpha,也就是表示透..._pygame 中 screen.set_clip
文章浏览阅读1.6k次。笔记_tcp/ip包内容
文章浏览阅读1.4k次。静态网站:在tomcat的webapps目录下创建一个目录(命名必须不包含中文和空格),这个目录称之为项目目录在项目目录下创建一个html文件动态网站:在tomcat的webapps目录下创建一个项目目录在项目目录下创建如下内容WEB-INF目录在WEB-INF目录下创建web.xml文件创建静态或动态页面http协议:无状态协议,仅连接一次(ftp_创建一个savelogin.java文件,该页面作用
文章浏览阅读310次。升级网址http://hibernatesynch.sourceforge.net/_eclipse映射器
文章浏览阅读313次。现在越来越多的跨境电商用户想拥有一套属于自己的自发货铺货ERP系统,但是众所周知,开发一套的成本太高,而且找不到很专业的技术员去开发,那么,我们提供的ERP私有化部署,成本低,你需要的投入的是一个服务器,以及一个ERP的定制费用,我们会把ERP加密部署到你的服务器中,这样你的数据就在你的服务器中。能看到数据的只有你自己,而且你对外销售出去的账号端口,你作为上家,同样是可以看到他们的数据!不是所有的部署都可以做销售系统,一般分为个人店群卖家部署,企业店群部署,培训孵化机构部署!每一个版本的部署,权限不一样,同_跨境erp如何保证卖家数据安全?
文章浏览阅读1.2w次,点赞6次,收藏11次。:是v-bind缩写:数据同步v-bind指令可以用于响应式地更新 HTML 特性:<spanv-bind:title="message">@是指令v-on缩写 :动作监听v-on指令,它用于监听 DOM 事件<form v-on:submit.prevent="onSubmit">...</form>.修饰符:动作具体化修饰符 (Modifiers) 是以半角句号.指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如.pr..._v-model简写