多点java工作笔记

1.实现EnvironmentAware接口可以获取配置文件当前的环境变量。
2.@Configuration 和 @Component 区别
@Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。
3,vo是业务使用的对象,po是持久层使用的对象与数据库表对应,dto是接收传输数据的。
4.$在mybatis中是字符串拼接,但在某个情况下必须使用,比如order by
5.mybatis的基本步骤:
获取sqlsession
open session获取对象
如果直接读取xml使用session.select()
如果xml和接口有关联,使用getMapper获取接口的代理对象
6.mybatis动态sql
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.統一异常处理
@RestControllerAdvice
@ExceptionHandler
8.插入后生成id
@GeneratedValue(generator = “JDBC”)
9.使用 @Param就不用parameterType属性
10.分页步骤
在这里插入图片描述
11.on和where的区别
inner join没有区别,left join时on里面的条件无论满不满足都会保留左边表的数据
12.spring的发布订阅
一个类继承ApplicationEvent为一个事件,发布者可通过publishEvent触发监听者(实现ApplicationListener接口)还可使用@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
13.级别排序为: TRACE < DEBUG < INFO < WARN < ERROR,当前日志配置为INFO,只能输出级别大于等于INFO的日志
14.@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。
15.在这里插入图片描述

16.@ImportResource加载配置文件
@import:对应的import的bean都将加入到spring容器中,这些在容器中bean名称是该类的全类名
@Bean相对来说就更加灵活了,它可以独立加在方法或者类上,按需注册到spring容器,而且如果你要用到第三方类库里面某个类或者方法的时候,你就只能用@Bean把这个类或者方法注册到spring容器,会按自己的逻辑创建一个bean
@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的,作用为:配置spring容器(应用上下文)
@Bean单独用无法把类加载进spring容器里
@Configuration+@bean当方法被调用时返回的是被Spring管理的单例Bean而@Component返回的不是
17.PlaceholderConfigurerSupport是在bean加载时去处理bean的属性,
18.实现了BeanFacoryAware接口,可以使得bean获取到容器的内部信息,从而进行某些定制化的操作
19.Spring是一个大量使用策略设计模式的框架,这意味着有很多相同接口的实现类,那么必定会有优先级的问题。于是,Spring就提供了Ordered这个接口,来处理相同接口实现类的优先级问题(策略模式,就是一个类一个方法传入不同的接口实现类,实现不同的策略,因为java不能传方法,所以只能传接口)
20.spring的前置处理器是在实例化对象之前调用,后置处理器是在实例化对象之后调用。
21.实现某个框架的接口,框架是如何实现该功能的?
接口被调用必须实例化对应的实现类,不然会报空指针
框架会先实例化该对象,然后判断该类是否是接口的实例,是的话则会调用方法,在使用者视角看来就是实现了某一接口就可以获取框架内部值和执行一些自定义的逻辑,和js的回调函数一样
22.@Import和@@Configuration配合让spring扫描到这个类然后把@Import里面的加入到容器中
23.可以往spring容器里注册同一类型的bean,已方法名为key存为map
24.@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。
25.@ConditionalOnMissingBean表示只注册一个这样类型的bean
26.注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响;
在Spring 4.0版本之前,@Order注解只能控制AOP的执行顺序,在Spring 4.0之后,它还可以控制集合注入中bean的顺序。
@Order注解放到@Configuration中是无法控制bean的注入顺序的
@EnableAutoConfiguration这个注解是用来根据类路径中的依赖包猜测需要注入的bean,实现自动注入
@EnableAutoConfiguration也是借助@Import的帮助,将所有符合自动配置条件的bean定义加载到IoC容器
@EnableAutoConfiguration就是去读取包下面的META-INF/spring.factories文件,如果配置了自动配置类,springboot就可以把配置文件里的bean自动加载到spring容器里,而不用我们使用@bean自己去加载
@Async必须让spring代理了才会生效,如果异步方法出现错误是不会触发事务控制的
如果有一种场景调的方法不能影响主流程,那么我们可以使用异步方法
Spring的发布订阅模型实际上并不是异步的,而是同步的来将代码进行解耦。异步方法出现错误是不会触发事务控制的
@transactional是在方法完全执行完没有错误时提交,所以如果此方法内有异步方法则会出现数据库没有数据就操作的情况,所以使用@TransactionalEventListener在提交后执行
27.maven里的profile里的配置不同环境激活的配置,可以配置激活的条件。
28.中的配置作用于Maven的site阶段,用于生成报表。
29.package 只是打包到target下, install是打包安装到我的本地maven仓库。
30.springmvc中int类型不传会封装错误

本文档是本人5年JAVA经验整理的文档(持续性的),由于优快云只能单个附件只能上传15MB,所以只好分包压缩了(4个包),希望各位同行能够理解。 本文档包括JAVA/FLEX/数据建模/Database/移动办公/项目管理/单点登录/软件架构/测试等相关性技术。 本文档还在持续维护中,各位可以通过《笔记变更说明》查看升级日志。 在这里声明下,本文档一部分是个人从学习、工作中整理出来的(代码都是经过调试的),还有一部分是从网上整理的。 本站相关文档都是经过后期整理的,或是在实际工作中整理的实例代码总结而成的。 由于本人目前允许上传的资源太小,所以无法上传整个的技术学习笔记JAVA 五年的工作经验学习笔记),待以后有机会会分享给大家。 技术体系包括: J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构(NoSQL、SaaS、设计模式等)/数据库(MySQL、Oracle、EDB、SQLServer等)/测试(单元测试、压力测试)/linux服务器等 其中含有大量实例源代码。 这里需要说明的时,该文档是本人5年工作经验的积累,文档中大部分知识点来源于实际工作中的总结,(除了JAR等资源文件外)其代码都是可运行的,还有一部分知识来源于网络或者其他书籍,这里做一些收集,使该体系更加完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值