This guide effectively demystifies the transition from AI chatbots to local coding agents, proving that the future of Spring Boot development lies in seamless environment integration. It serves as a sharp reminder that as boilerplate becomes automated, the developer's value shifts entirely toward high-level system design and prompt precision.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Introduction to Codex | Tutorial for developer | Spring Boot | Codex vs Claude Code |Code DecodeAdded:
Hey guys, welcome to code decode. Today in this video we will be looking into a very strong AI coding agent which sits into your system and works as it as if you are working in the system and that is codeex for you. So welcome to the world of codeex. We have already covered claude code which was again one of the AI coding agent and now this is an introduction to another coding agent that is codex. Now in this world where AI is developing and emerging so quickly, AI coding tools evolved very fast. We started with simple autocomplete and assistance like tab 9.
Then came AI chat assistance like chat zippy's UI interface where you copy paste your code and then get the suggestion and then paste it into your workspace where the chat interface does not have any access to your local environment. You have to come out of your IntelligJ, paste your data and outputs and everything into your browser, get the response, go back to your local environment. So this is how you as a developer has to context switch between your local IDE and the browser.
So that is where there comes coding agents who sits into your system and code as if you are coding into the system. So in this video we are going to explore one such coding agent that is Codex. Trust me you if you would have seen the claude codes video this codeex is far more cheaper readily available a bit slow but a very good solution. I would agree to the fact that codeex is more generic and do every stuff that you can do generally while claude is more towards deep thinking more towards coding and that is why I say codeex is a model which is trained differently.
Clawed code is a model which is trained differently and that is where when I show you the demo you will see the difference. Now let's quickly cover the theory which is the last thing I would ever like. What is CEX? Codex is a coding agent designed to work directly in your local development system environment. Now unlike your browser chats, it understands your repository.
It edits file. It run command, debug and create test cases, fix your issues just like a developer. And it is not just a code generation. It is an execution of multiple stuff. You give a request, you give bug, you give whatever. It analyzes whole project, modifies the files in those projects, executes the commands, validates and continuously do all those stuff iteratively. So what can it do? It can create your project. It can understand your IDE repository. It can do the development stuff like CRUD and all those stuff. It can run terminal operations like run Maven and Gradle commands, execute the test, install packages, fix compilation errors and one of the very strong capability, it can do the iterative development. For example, as a developer, you code something, you face some compilation error, you fix it and that is exactly what even codeex do.
It codes and sees oh there's a compilation error. It fixes in front of you itself that oh I'm sorry I faced this compilation error and I'm going to fix it on my own. So it works just like a developer like you, a mini developer like you. And why does this matter? Why why we are covering codeex today?
Because earlier developers use AI for suggestions. Now developers assign the task as if there's a junior developer sitting in the system and doing everything. So now write this line to implement this whole feature is what software development has moved to. Now you'd ask me you have already covered cloud code ycodex because it is much more cheaper. It is it it is going to cost a very less penny on your pocket.
The primary strength of both are different. They are it's more generic.
It is more deep. It is mostly almost same in most of the stuffs. The only stuff that LLM modeling and large context handling is better in claude that is already discussed before because it is trained in that way. While multiffactoring, multif factory refactoring is also very strong for claude and code generation was much more faster. when I am going to show you the G GPT's codeex it is going to be very slow architectural discussions are also very excellent because this is a generic model this is a coding specific model and so on enterprise scale reasoning and production gate so now when you would use what if you have less money go for codex if you have good amount of stuff coming on from your organization always if if the organization gives you all the four models the codeex models and the clot code always use clot code but when you stuck it I'll always suggest use both because many of times I see that claude hallucinates more than codeex and even claude sometimes is not able to fix the end to end stuff if I give them four commands sometimes only three is implemented one is left but chatgity takes its own sweet time understands everything takes a very good slow slow time and then fix everything at the end so it still I would usually do the combination of both I'll try to do everything quickly with claude and then come to codeex when My things are not done properly and handled with claw code. Hey guys, so recently we have launched a very new course on UDI that is spring security 7. So now we have total of two courses. one on the spring security, second on the fullstick application with all the deployment pipelines, CI/CD, AWS cloud, kubernetes, everything in spring security we have covered authentication, authorization, filter chains, CR types, JWTs, OIDC's, SSO, CSRF, CS and very important we have created a here also a fullstack project with a front end, back end and security is implemented using O0 and key clock.
Both of those authorization servers we have defined and created an end to-end PC in this course and the next course was on a fullstack application where you understand microservices angular junits docker kubernetes AWS EKS RDS atlas genkins cicd arcd everything so this makes a complete end toend project with front end backend and security implemented deployed on the cloud also links of both of these courses will be given in the description below also Also we will try to give some free coupons.
Just let us know in the comment section for which course you would need the coupons. We will try to avail the coupons for the for the courses for free in the next month. Just for a small request, please leave your genuine honest comments on these courses that will help us create more such free courses or discounted courses for you guys. So now let's quickly that's all theory. Let's quickly start and implement the uh codeex. What you need to do first of all you need uh first of all chat GP is giving a free go account to everybody. So first first of all for one year go and have the go account for the GPT. Secondly you go to this gpt.com codex get started. Let me copy this link and paste it here. So what do you see?
You have download for whatever in my Mac it used to show me the download for Mac.
You click onto this you will see the downloads. In the downloads you will see your codeex installer.exe. You double click on that and an exe will start something like this.
Even before you reach into that there are multiple steps. Let me show those steps to you. So what you need to do is you continue with GPT. And now when you click on continue with GPT it will ask you to sign in. You click on continue with the account where your go account is always there. Now you check what type of work you want to do. Then it also ask do you want to get the work basically it is trying to get the context from another AI apps for example claude if you would have gone also even Germany would come as a option here now select your items to open you have these sessions these projects these are existing projects do you want to open them I would have skipped it after this because I want to create everything from scratch I don't want it from the cloud so I skipped after that and you just follow the steps and you would be able to see such a beautiful interface by claude sorry by codeex. So if you see here this is a codeex UI interface given. Now what I'll do is I'll go to file open folder and onto this I have in my documents a codeex demo onto this codeex demo I I selected this folder. So my codeex demo is my working directory now. So it is see users code decode documents codex code decode demo. Now with this I have a proper project uh location setup. Now is the task when I want to create a simple user management stuff that I have done with claude code also. But now since in the previous video we have done the prompt engineering. So now it is very important to give a very good prompt to this guy so that he can do and create an enterprise production grade application for us. Now I'll give you an example of how beautifully a prompt can be created for such scenario. So if you remember you have to first tell your role. So I said you you means codeex. You are a senior Java plus spring boot architect and back end engineer. Now you will give the task. So your task is to help me build a production grade spring boot application iteratively. This is very important because if it creates at the once and then you get into this problem it's better to do it iteratively project. Then you give the goal. You need to create a user management system with complete cor APIs. This is what we want. Now you give the context and trust me context I have given is very big. You can even shorten this out and not give the steps but I'm giving you giving you an example of a very good prompt. So now important working style. Do not generate entire project at once. Work iteratively. After every step stop wait for confirmation. After every step compile successfully should be done before you move ahead. Do not move ahead to the next step if your existing code is not compiling. Always explain where file should be created. Always provide complete code for every file change and keep response structure and clean. And this is the text stack. You need to work with Java 21, Spring Boot 3 Plus, Maven, Spring Web, validation, Lombok, H2 that is an inmemory database initially, JUnit 5, Mochito and REST APIs and layered architecture. Architecture should be controller service repository, entry entity, DTO, mappers, exception and config. This is how beautifully you create a MVC architecture. Now your user entity fields should have what all stuff you you may ignore this because you can leave it to him that how he wants to create a user entity. But if it is coming from your requirement from my client that for user I want these all entities you can give that as a part of prompt and it will follow the prompt religiously. Now you need feature required. What do you need? Create a user get user by ID. Get all user update user delete user. Basically CRUD operations, validation handling, global exception handling, DTO mapping, unit test cases, controller test cases, HTTP status codes, pagination and sorting supported. These two three things are optional. But this is how beautifully you can create a production grade application. Now coding standards, this is to be followed by them. Follow solid principle. Use constructor injection only to prevent the cyclic construction dependencies. Use response entities. Use proper validation annotation. Use meaningful package structure. use Java docs and apply small and readable methods. Testing requirements you should use mochito MVC minimum 80% full coverage. This is something where our sonar fails. So you can give all your sonar and all those stuff also to this as a context and very important at the end of every step files provide the files created exact terminal commands expected output common errors and fixes that it has done and postman request example and curl example. This will be helpful for us when you're going to test it. Now you can completely ignore the iterative execution plan which is what I have given was how how I create it. I create the project project structure with prompt.xml application.l main application class then dependencies and show the final structure. After this you wait and ask for my input for entities creation. After that stop and create the details. After that create the CRUD operation. Then do the pagenation sorting. After that you do global exception handling. After that you create the test cases steps. And now provide a complete postman collection.
And at at after after the end of this after step eight never skip steps. Never assume files are already created. Never use pseudo code. Always generate production ready code. What are we trying to do here? We are preventing hallucinations.
So these rules are a very important part of the good prompt. And at the end start with step one only. And this is how beautifully you can give the prompt. I know this is a very big prompt. You might not need this but at least you can give the basic structure that you are who you want what you want to use what ext and what to coding standards to be followed and what not to do. So these five things you for sure have to give.
Leave these steps to him. He will decide it on its own. You can completely remove the iteration plan. I'm going to copy this whole go into the codeex and paste this. So now I when I paste this prompt here and I say see this is the default permission it will take some time to create the files you what you can do you can give full access code access full access over your computer elevated risk do not do that if it is your office laptop only and only if you have your personal laptop then only do this otherwise go on with the default permissions no problem this is my own personal system so I can continue with full access now it is going to set up the workspace with How would I see that my workspace is getting set up? By opening that code in my IntelliJ and there I will show you simultaneously how at each step it is creating the files in real time and you will see all the magic happening and I am not going to do any coding but still all the project will be created at one step into my IntelliJ and that's where our coding life is going towards. what what you had to do the maximum you had to do is to create this beautiful prompt and that is why I say the second lecture of this playlist is very important that is prompt engineering if you do a good prompt engineering you will end up with a very beautiful production grade project whose chances of failing on production is very low and that is where you stand out of the crowd with other people so let's see how it starts okay now the workspace is empty maven is available but this is in 11 since the project targets I'm going to check whether this is installed elsewhere and use it explicitly for compilation. This is how beautifully if you would have started creating a project you would have gone searched for Java 21 and used that for your project.
Now since and why why it is checking for Java 21 because I was prompt enough [snorts] to give this in my text stack that please use Java 21 and this is how religiously he is following my commands.
So since there's no Java JDK so the Java 21 compile would fail right now to keep the on step honest without changing a system Java. I'm going to use portable JDK inside the workspace if Maven can already see one. Let's see if it actually compiles otherwise we'll move to Java 11 or we will install it. Now it is going to create all those projects with pom YAML and everything. So step one says intentionally lean no entity repository and any code yet. Now let's see where this pom do.xml is getting created. It is inside codeex demo. So let me open this for you. Let's open. So you see codeex demo. Let me open this for you. So can you see here it said pom.xml was created. Now it is creating application.
So the skeleton is in place. Before verification I'm setting the workspace because the system path points to 11.
that lets Maven compile with exact target without changing your global setup. So now let's see what happens here. It is running this command this shell command and here you can review your changes. So you see here this is a review tab. You can see what all is changes. So this form was created this user management application was created. Let's see where is it created in src.
You will see in main in Java you will see user management application created exactly like the spring user management application right beautiful then it has even created YAML file so it will be in the resource folder so even it has created a beautiful structure for you even user management application system was created at80 so this is how it has created all those stuff now I can close this and let's wait running the command for these many seconds it also tells how many time 4 seconds it is running this.
So you see Java 21 is now available locally as JTK JDK 21. I'll ignore the runtime folder for Git and with Java home pointed at all. Now it is resolving and running this Java environment to point to this. So you see it has went into your shell and ran this command with build successful passed with Java 21. I will also run the test life cycle now. So do you see it is trying to set up Java 21 for you in your system because I have given the full access it is able to open the shell and this is where you have to be very careful because claude and codeex can sit into your system open this and do this all.
So now step one is completed.
It has created these files and your structure is also which is getting added here.
Now these are the dependencies it has added and it is asking me to review the code here itself if you want any change but I would ask him not to do that because I can use and view all this code here in my src folder also. So what error it found? The error it found was mvn was not recognized. So it added bin uh maven bin to the directory path dependency download failure. So it checked and rerun the maven clean. Now it stopped there. The step one is completed and verified. I'll stop here as requested and confirm when you want me to continue with step two. So now I'll ask him to continue. And to prevent the time I would ask him to stop generating the code here and now proceed. Got it. I'll proceed to step two and keep the chat focus on what chain and how to run it without dumping the full source code unless you ask for it. Now it says I'm adding the entities repositories. I'll verify the startup and compilation and stop again. So now it is creating the OM framework dependencies for H2 in application.l. So now it is changing application. Mamel.
What I have shown you earlier was very small application. Mamel like this. Now it is changing this and after this editing has been done you will see the H2 database or the inmemory database structure creating created inside the application. Mameml. So now let's wait for this. Now meanwhile I'll just do maven clean so that okay right now I cannot do the maven clean because it is being used already by my codeex here. So until it is working on that particular target folder and it is doing some stuff I cannot do the maven clean or something. So I need to wait till everything stops and ends and that is where I will after that I'll do the maven clean and run. So now it is proceeding with step two. The baseline is clear. I'm going to add user JPI entity then wire H2 in the application.
So let's see application. ML now and I can see so now a lot of stuff has been added per H2 dependencies. So as he said I'm going to modify the application. It is modified with H2. Now compilation and Maven test is green because it is doing it by its own. You cannot do it because it is going to be modified automatically by codeex. So it is not allowing you to do anything because he's doing work. You cannot do parallel programming onto it.
Now it says I added this and verified that application compiles and start successfully with spring boot. What has had it has created user user status and user repository. What was added? All these stuff has been added. There was still some errors. Port80 was already in use. So it has stopped the process and it says no curl yet because it does not expose the current endpoint yet. So what all is changing these repositories and user data is created. Let's go to entity folder and repository folder to see the change. So yes entity and repository is exactly the two folders which are changed. So user repository is created and user object is created with all those pre-update column. You have to do all those stuff if you would not have codeex in system. So this is how beautifully it does all those stuff for you. Now let's say continue to next step. Okay. So now on step three I'll add DTOS and mappers and service layer implementation and then verify everything compiles before stopping again. Now it will do all those stuff and you sit back and relax.
So now can you see DTO's mappers and service layer are added. I'm compiling now. If anything feels off, I will tighten it before I call the step done.
So now it says compilation is green. I'm running the Maven life cycles too. And it says I've added all those stuff. Now it run these commands. Does Maven clean compile and test and it says build success. So now it says what it all things has been added and what are the exact commands with what the expected output. What were the common errors?
Again it was somehow facing that Java 21 error but then it fixed it automatically. I don't have to do anything. Now if you see DTOs and mappers and services has been added. So let's go to Intelligj and see yes DTOS mappers and service have been added properly with proper user service user service implid principles being followed a DTO being created with all no and builder patterns and user request being created. So how this is how beautifully D2OS's are created and entities are created.
Please continue next. So now if we see our step one is created. Step two is also created. Step three DTOS is also created. Now it will create the CRUD endpoints and pagionation and sorting. So now I think after this you will get some curls. So for step three it will say no curls.
Step four will expose CRUD application APIs. So see how religiously it follows all your commands and your prompt. So that is why I say it is more of the prompt engineering rather than coding now. Now it is continuing step four and we will wait for it to stop after step four. And this is what is called as iterative development. Now it says controller code is in. I am compiling and running the test life cycle. Maven is green. I'm starting the app briefly and creating the create list. Get update delete.
Basically the CRUD operation is what is getting created. Now it says endpoint reached the delete call and it expect 24 no content after trying to access it again. But it still sees there is some error here. So spring is still returning 400. So I'm checking the response body instead of guessing. This is exactly why I like doing a smoke toast test here. It catches the annoying edge case before the test bakes in. So how beautifully it is checking all the edge cases for you.
So it is also doing a testing apart from just being a developer for your system.
Okay. Now it says step four completed.
CRUD controllers are now added with pagionation and sorting. So let's go and see whether controllers are now created or not.
So see yes controller is created and what we expect a proper CRUD. Let's go back. It is asking something.
It says endpoints have been added for crud. Smoke testing has been done.
Created is two 200. List is 200. Get ID is 200. Update is 200. Delete is two not four. A proper response status is what what we asked if you see here we asked him to give proper HTTP status codes. So because you have given this 11th point now it is validating those response status code also. HTTP codes also added the Java path. It did maven clean. It did maven test. It expected output was this. The postman examples were created. It has given you all the curls. This is the curl for creation.
Then similarly you have updation deletion everything. Initially it got 400 bad request that I have also shown you. That was because the JSON was malformed. It automatically fixed it. We don't have to do anything here. So now what we can do is you can start doing the global exception handling and meanwhile I can try running this. It says compilation finished zero errors zero warning. So this is what also codex told us that there is no compilation problem. Zero errors and zero warnings were there. And this is how beautifully it did came across 400 bad request where it was expecting 200. There were multiple steps which were coming but it solves it automatically. And now see how beautifully it has started at localhost host at80. And if you go on the top you will see what JDK has been used. It is JDK 21 that has been used by him. So this is how beautifully the Java coding agent does everything for you internally. Now let's go and go get those curls. Let me copy this curl. Let me go to Postman and add that. I'm going to import a curl here now and try to send it. See 201 created. What was this expecting? This was the create was 201 which is expected. Now list and get by ID and update will have 200 and delete will have 24. So let's copy and test all those curls. Initially it is one Jane do with email id and phone number and status created and updated. Now it is trying with size zero uh page zero and size 10 and sorting with this in the ascending order. So this is how pag nation is also implemented. Now let's try that also. So import a curl and send it. So it says again 200. So the first person that came and what we have added was Jane Don and also if you see there's a pagionation added and also sorting added and offset added. So this is how beautifully pagination and sorting is also done internally by codeex for you.
Otherwise you would have taken one whole sprint to just create the crunch. one whole spring to do pagionation and sorting and all those stuff. We have done that in 30 minutes. Now let's try the third one and let's send it. This is going to return. This is a get endpoint.
That's it. So it it is the get endpoint with ID 1. The next has been the update endpoint because it is a put endpoint.
So it would have been updating with some data. So Jane do is now updated with Jane Smith. So see yes it has updated the Jane do with Jane Smith. Now let's hit and get the first user and see yes now your first name and last name your last name has been changed from Jane Doey to Smith. And now let's try hitting the delete one. So import and delete. So it says no content found and now it has been deleted. Now I'll try again with the get endpoint and see is there is there in the system. It says 500 inter.
So this is how beautifully you have all the four CRS implemented very beautifully and this is where initially we have stopped our claude code demo.
I'll try to move ahead with the fifth and sixth steps. It might be a bigger video than that but it will cover a production grade spring boot application which everybody's asking in the comments rather than just a very small P. So now let's wait for the fifth point. What was the fifth point that we were expecting is add global exception handling, add custom exception handling, improve the API handling and then we will create the JUnits. So do we have JUnits? Let's quickly check and let's stop this by by in the meantime. So if you see here tests are not created, no service, no controller, no test. So after step six and seven, we would have been proper test created and for eight we don't need it because the postman is something which we have already tested.
So only two more steps six and seven and we will be done with this video. Okay.
Meanwhile I'll ask him to start with the steps six and seven and step seven then only stop.
I'll before that I'll see what all things have been done by him for the step five. So exception handling is now in place with custom exceptions done.
You will see error response and all those exception user impl global exception handler being created where it is created in exceptions. So let's go here and see there's an exception where there's a global exception handler created with at the rate rest controller device at exception handler and all those stuff that you would have taken a lot of time that is created automatically for you that two with no compilation errors I cannot see a single compilation error in the system also now missing users throws 44 now when I run that command it was getting 500 internal server error when there is no user found now when the missing user it should it is now going to throw 44. Now duplicate email now returns 4.99 validations and all those stuff has been with the generic message. So this is the smoke testing that has been done and these are the curls for testing and these are the five files changed. Now let's continue with seven and six and we will see that a lot of testing has been done. So here in the test class packages you will see the test getting created now. You see here the controller user test controller has been created.
In the service, a user service has been created and says it created two files.
So yes, two files has been created successfully.
It got some exception. The spring boot 3.2 still uses mock and mockto beam. You it might have had got some exception. So it is now swapping the demo station so that it stays compatible with the selected 3.3 line. So it ran some kind of stuff. It has fixed that issue and it is rerunning the soup. So you see here it has faced some compilation error. It has fixed it on its own. Now it also runs the test and 20 green test cases has been there. Also it surfaces usual warning about the page impl being unstable. So I'm adding the recommended data web config adjusting the paginess assertion accordingly. So now it is editing the user controller test and since I was here I got that codeex has done the step six and step seven completed.
So let's go back to code codeex and see it has created all those stuff for us.
Now let's ask for curls. Now it is asking for the v1 user. Let's try that.
So I can see 200. Okay. And there is no content to it and page pagination stuff was like this. Now if I try to get the first one it says initially if you remember what it used to say it used to give 500. Now it has done global exception handling and it says a good exception being thrown now status is 44 messages user not found with user ID 1.
So this is how beautifully global exception handling is working fine. Now let's go to the code and see whether a test case has been created successfully.
So let's try running them. So it's still using JDK 21 and it says all the test cases have been passed. Let's try and run with coverage and see how beautifully it should have given coverage g than 80. So if you see here it is 100% covered. So that's how beautifully even the sonar coverage and issues will be fixed by this codeex for you. Now this is where I end this codeex video and now I hope that I have given you a production grade system with proper prompts global exception handling pagionation and sorting everything being done and I'm going to copy this prompt and you can use this prompt and create this production gate structure for you also that's all thank you so much if you want this AI series to be continued you have to let me know in the comment section then only I'll continue with this series. Otherwise, I can go back to my interview traps.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 viewsβ’2026-05-28
How agent o11y differs from traditional o11y β Phil Hetzel, Braintrust
aiDotEngineer
450 viewsβ’2026-05-28
Re: π£οΈπthepropheduπ2026 GST 103 CLASS (E-EXAM REVISION)
theprophedu
636 viewsβ’2026-06-04
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanationπ―β
LearnwithSahera
1K viewsβ’2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 viewsβ’2026-05-29
Search Algorithms Explained in 60 Seconds! π€π¨
samarthtuliofficial
218 viewsβ’2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 viewsβ’2026-05-30
Instagram accounts got PWNed
EricParker
13K viewsβ’2026-06-03











