Smucks,
It was one of those times I'll never forget. She just took both of my hands and led me over to the kitchen table, and looked me straight in the eyes and told me. And I could tell from the look on her face and her eyes that what she said was sincere. She just said, "Dennis, I love you and I just want you to know that I know you're human and make mistakes, I do too. But know this, you never have to lie to me. I will understand and live with your short comings, that is what I vowed when I married you." I was soooo shocked!!! I told her that I fib just to save face and not get in trouble.
With her explaining to me that she only got upset because she caught me in a lie, and how it made her feel, I began to understand that telling the truth would be less painfull on her. She also said that if she did lash out on me that she would take a walk and calm down and make it up to me, ( In a way I saw fit )

So with her willing to own up to her own mistakes of lashing out, I knew that I could tell her the truth and if she did yell at me that she had a price to pay.
Of course, she never has lashed out at me since then, ( Afraid of what I'd make her do to make up for it ). So give your boyfriend the same scenario. I'm not promising it'll work, but if you love him, ( and it sounds to me like you do ), then you would be willing to pay for your mistakes as well.
Good Luck!!!
Moose